私はalert(txt);
を使用した場合に正常に動作するクロスドメインAjaxコールを以下のAjaxスクリプトで使用していますが、結果をプリントするためにdocument.write(txt);
に変更すると、 、それが機能しない理由を確認していないクロスドメインAjaxコールがdocument.writeと連携していません
それは愚かなものかもしれないが、私はちょうど
function xss_ajax(url) {
var script_id = null;
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', url);
script.setAttribute('id', 'script_id');
script_id = document.getElementById('script_id');
if(script_id){
document.getElementsByTagName('head')[0].removeChild(script_id);
}
// Insert <script> into DOM
document.getElementsByTagName('head')[0].appendChild(script);
}
function callback(data) {
var txt = '';
for(var key in data) {
txt += key + " " + data[key];
}
//alert(txt);
document.write(txt);
}
var url = "http://myserver.com";
@Prestaul 'document.open()'はドキュメントをクリアします。以前のコードをすべて消去することなく、ページが解析された後に 'document.write()'を使用することはできません。 – Teemu
@Teemu、それは私がjsfiddleで見ていたことを説明しています。フィードバックをお寄せいただきありがとうございます。 – Prestaul