0
Asyncを使用してJavascriptを使用して2つの別々のページをヘッダとフッタとして使用したいと考えています。XHRリクエストはJQUERYを使用せずに 'undefined'を取得します
WITHOUT JQuery。
ページオブジェクト:
load: function(v, cb) {
tmp.xhr = new XMLHttpRequest();
tmp.xhr.open('GET', v, true); tmp.xhr.send();
tmp.xhr.onreadystatechange = function (e) {
if (tmp.xhr.readyState == 4 && tmp.xhr.status == 200) {
return tmp.xhr.responseText; cb();
}
}
}
TPLオブジェクト:
appendTo: function(e, v) { document.getElementById(e).innerHTML = v; }
これらの機能の両方が異なるオブジェクト
に配置され、それらを呼び出すために:
tpl.appendTo('header', tpl.load(tmp.views + 'header_generic_2'));
tpl.appendTo('header', tpl.load(tmp.views + 'footer_generic'));
どこ私のWebページでtmp.views is a variable for the directory level only
私は、次の内容が含まれています。
<div id='header'></div>
<div id='footer'></div>
と私が得る結果は次のとおりです。結果の
<div id="header">undefined</div>
<div id="footer">undefined</div>
画像:
などありますコンソールエラーません
しかし、応答は200で、すべてがデバッグに応じて動作しますなし: https://gyazo.com/95dba118fe9eebdb310f617168c8d763 https://gyazo.com/e446b7db7f0a62c280273869eac4d04a
これを試して、未定義はなくなりましたが、(HTML)ページからのデータは表示されません。 – user3052975
ここでプロジェクト全体を見ることができるならhttp://spleric.com/test – user3052975
グローバル変数として 'tmp'を宣言し、すべてのリクエストに' tmp.xhr'を使用したので、1つの結果しか返せません。私は自分の答えを編集し、 'xhr'リクエストをロード関数のローカル変数として宣言しました。あなたのテストサイトにも誤植があります。 'tmp.xhr.readyState = XMLHttpRequest.DONE 'は '==='でなければなりません – rckrd