표준 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를 사용합니다.
success() 함수에서도 console.log (globalTitle)를 사용합니다. 끊임없이 나에게 "a"를 준다. 그것은 변수가 할당 된 것과 같지만 success()가 호출 될 때마다 캐시됩니다.
FF 4 및 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