假设我有一个名为 nom 的变量,其值为 lol 。
var nom = "lol";
然后我有这个ajax函数,如果数据为false,我想覆盖 nom 的值为 whay ,假设数据为 false < /强>
$.ajax({ type: "POST", url: "micro/wave.php",
data: { username: "some string" },
success: function(data) {
if (data == false) {
nom = "whay";
}
}
});
然后,如果我提醒变量 nom ,它仍会提醒 lol ,它应该提醒 whay ,因为数据是错误的。
alert(nom);
这个东西的任何解决方案?
答案 0 :(得分:0)
如果您没有指定dataType
,则很可能是字符串。因为("false" == false)
是假的
这样做:
success: function(data) {
if (data == "false") {
nom = "whay";
}
}
此外,alert
应成功处理。因为Ajax中的A表示异步
答案 1 :(得分:0)
Ajax是一个异步请求,如果您将警报置于成功事件之外,它将不会等待成功事件发生。因此它会提醒先前的值。所以试试这个
$.ajax({ type: "POST", url: "micro/wave.php",
data: { username: "some string" },
success: function(data) {
if (data == false) {
nom = "whay";
}
alert(nom);
}
});
答案 2 :(得分:0)
有些事情可能会出错......
您正在某处未正确创建变量。
您忘记了默认情况下ajax是异步的,因此警报功能在成功功能之前运行...您可以更改它。
您的成功函数仅在请求成功时运行,而不是在出现任何错误时...如果您希望它失败则该函数将不会执行使用.done。