標準AJAXクエリ:ジャバスクリプト/ jQueryの変数の問題(多分問題をキャッシュ)jQueryを使って
var globalTitle = "";
var pages = ["a", "b", "c"];
for (var i = 0; i < pages.length; i++) {
createpage(pages[i]);
}
function createpage(title) {
globalTitle=title;
console.log (globalTitle); //All looks good here
$.ajax({
url: "createpage.php?id=" + title,
context: document.body,
success: success
});
}
成功()関数は、私はそれがグローバルに宣言しなければならなかった理由ですglobaltitleを使用しています。
console.log(globalTitle)のsuccess()関数では、常に私に "a"を与えます。それは変数が割り当てられているようですが、success()が呼び出されるたびにキャッシュされます。
FF4とChrome 8で発生しますか?
編集:私はこのような何かを(var xhr =
とxhr.cpTitle
ビットは、この作業の鍵となる)だろう
function success(text) {
console.log (globalTitle); // always "a"
var div1 = "<div id=\"" + globalTitle + "\">";
var text = "<a href=\"javascript:createpage('" + globalTitle + "')\">Retry</a> " + +text;
var div2 = "</div>";
if ($("#" + globalTitle).length) {
$("#" + globalTitle).html(text);
} else {
$("#ajax").append(div1+text+div2);
}
}
あなたは( '成功を投稿することができます)' – zsalzbank
はどのようにあなたがglobalTitleを更新するのですが、そのあなたの成功の方法で起こるはずのように見えます。その方法を投稿すると我々は助けることができるはずです – Baz1nga
投稿した今すぐ – bcoughlan