xmlhttp.responseText;//createDisplayElement()
の表示コンテナを作成するためのメソッドを呼び出そうとし
:FFのエラーコンソールに JS BIN Document
エラーなし、しかし動作がありますオフにして、ページを適切にリフレッシュしないでください。
xmlhttp.responseText;//createDisplayElement()
の表示コンテナを作成するためのメソッドを呼び出そうとし
:FFのエラーコンソールに JS BIN Document
エラーなし、しかし動作がありますオフにして、ページを適切にリフレッシュしないでください。
への参照を欠いています。
obj
が正しく定義されていません。p
要素にプレーンテキスト(xmlhttp.responseText
)が追加されています。両方とも以下のように修正されています。
これを試してみてください
、function makerequest(serverPage, objID)
{
xmlhttp.open("GET", serverPage);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.status == 200 || xmlhttp.readyState == 4){
createDisplayElement(objID);
}
};
xmlhttp.send(null);
}
function createDisplayElement(objID){
var obj = document.getElementById(objID);
var para = document.createElement("p");
obj.appendChild(para);
var txtNode = document.createTextNode(xmlhttp.responseText);
para.appendChild(txtNode);
}
obj
のように見えるのは、関数のコンテキストで不適切に定義されている可能性があります。代わりにthis
をお試しください:
// It is called as:
obj.createDisplayElement();
// But the function also uses obj
function createDisplayElement(){
var para = document.createElement("p");
this.appendChild(para);
//^^^^^^
var txt = xmlhttp.responseText;
para.appendChild(txt);
}
この機能は、私は、コードで2つの問題を参照してくださいobj
function createDisplayElement(){
var para = document.createElement("p");
obj.appendChild(para);
var txt = xmlhttp.responseText;
para.appendChild(txt);
}
の提案を実装した後、HTMLは文字通り解釈にロードされます。すべてのHTML要素が印刷されます。 – Wasabi
具体的にしてください。あなたのajax呼び出しからHTMLを返していますか?もしそうなら、para.innerHTML = xmlhttp.responseText –
はい、そのファイルはHTMLスニペットですが、私はinnerHTMLを避けることを望んでいます。これは問い合わせの理由です – Wasabi