私は Javascript で書かれた 100% 有効な Ajax モデルを持っており、Get メソッドまたは Post メソッド、通信するページ、そのページに送信する文字列、自分のページのどの要素をいじっているのかなど、いくつかの入力を使用しています。私は私の応答を受け取ります。問題は、要求を非同期 (したがって Ajax) に設定すると、onreadystatechange イベントで IE が「この操作を完了するために必要なデータはまだ利用できません」というエラーを返すことです。ステータスは 200 です。Ajax は非同期であるため、Firefox または Chrome ではエラーは発生しません。
Post メソッドのスニペットを次に示します。
xmlhttp.open("POST", commPage, true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
j = xmlhttp.responseText;
i.innerHTML = j;
}
}
xmlhttp.send(str);
編集:IEでは、ActiveXコントロールを使用していることを指摘する必要があります-> Msxml2.XMLHTTPまたはMicrosoft.XMLHTTP、または最初にtrueを返す方。