0

私のコードは単純です。

function useXMLHttpRequest() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", "test.ashx", false);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
xmlhttp.onReadyStateChange = function () {
    alert("ss");
};
xmlhttp.send("i=5");
alert(xmlhttp.responseText);

}

useXMLHttpRequest.Yesを呼び出すと、xmlhttp.responseTextの値を警告します。ただし、アラートは発生しません( "ss")。IE9とFirefoxの両方で。誰が何を着ているのか教えてくれますか?

4

2 に答える 2

2

JavaScript(および私が知っている他のすべての言語)では大文字と小文字が区別されるためonreadystatechange、とは異なりonReadyStateChangeます。

代わりにこれを試してください:

xmlhttp.onreadystatechange = function() {
    alert("ss");
};
于 2012-10-26T05:33:25.037 に答える
0

あなたが持っている

xmlhttp.open("POST", "test.ashx", false);

3番目のパラメーターはですfalse。これは、同期要求を使用していることを意味します。このようなリクエストの場合、onreadystatechangeは機能せず、使用しないことをお勧めします。とにかく、リクエストは完全に完了するまで先に進まないので、alert(xmlhttp.responseText);直後xmlhttp.send("i=5");は正しく機能し、リクエストの状態変更イベントを処理する必要はありません。

詳細はこちらこちらをご覧ください。

于 2012-10-26T05:37:25.457 に答える