私はドロップダウンを持つページを持っています。 onchange
イベントは、データを取得して3210を生成するAjaxブロックを含むJavascript関数(下)を呼び出します。表面上、すべてが機能します。繰り返しリクエストでAjaxコールが応答しない
リスト内の項目を問題なく選択できます。しかし、以前に選択されたアイテムを選択すると、Ajaxコールがハングアップするように見えます。多分奇妙なキャッシングの問題か何かのように見えます。ブラウザを閉じてページをリロードすると、再選択するまですべてのアイテムが再び機能します。
私が掛かっているときにはreadyState
とstatus
のプロパティをテストしましたが、何も得られません。何か不足していますか?
このページは認証の背後にあるクライアントプロジェクトであるため、URLを投稿することはできませんが、ここにはAjaxコードがあります。これはPHPページにありますが、これに関連するPHPスクリプトはありません。
function getText(id) {
var txt = document.getElementById("MyText");
txt.disabled = "disabled";
txt.innerText = "";
txt.className = "busy";
var oRequest = zXmlHttp.createRequest();
oRequest.open("get", "get_text.php?id=" + id, true);
oRequest.send(null);
oRequest.onreadystatechange = function() {
if(oRequest.readyState == 4) {
if(oRequest.status == 200) {
txt.innerText = oRequest.responseText;
} else {
txt.innerText = oRequest.status + ": " + oRequest.statusText;
}
txt.disabled = "";
txt.className = "";
oRequest = null;
}
}}
編集:コードブロックは少し風変わりなようです。以前の同じ行にない限り、最終的に}
を含めることはできません。
+1:あなたのリクエストで最後に行うべきことです。 – annakata
それは固定ですそれ;ありがとう。 –