Стандартный AJAX запрос с JQuery:JavaScript/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); постоянно дает мне «а». Это похоже на назначение переменной, но затем кэшируется каждый раз, когда вызывается метод success().
Бывает в FF 4 и Chrome 8. Любые мысли?
Edit: Вот функция успеха():
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);
}
}
Вы можете отправить сообщение 'success()' – zsalzbank
, как вы обновите globalTitle, похоже, что это должно произойти в вашем методе успеха. Отправьте этот метод, и мы сможем помочь – Baz1nga
Добавлено: – bcoughlan