Can';在ajax中无法进行比较
事件虽然返回“OK”(之前使用alert进行检查),但无论它从未显示alert(“YEA”),为什么会这样?数据似乎无法比较,这是因为(正确地)使用了异步AJAX调用。当您调用Can';在ajax中无法进行比较,ajax,Ajax,事件虽然返回“OK”(之前使用alert进行检查),但无论它从未显示alert(“YEA”),为什么会这样?数据似乎无法比较,这是因为(正确地)使用了异步AJAX调用。当您调用check_abc(a,b,c)时,它会立即返回一个未定义的值,因为服务器的响应将在稍后出现 将调用代码简化为: //From other function var check = check_abc(a,b,c); alert (check); function check_abc(a,b,c) { $.a
check_abc(a,b,c)
时,它会立即返回一个未定义的值,因为服务器的响应将在稍后出现
将调用代码简化为:
//From other function
var check = check_abc(a,b,c);
alert (check);
function check_abc(a,b,c)
{
$.ajax({
type: "POST",
url: "abc.php",
data: { a: a,
b: b,
c: c
},
success:function(data) { //alert to get the data and make sure it was return ok.
if(data == "OK")
{
window.alert("YEA");
goOn();
}
else
{
window.alert("Testing");
noGood();
}
}
});
}
在success
函数内部,显示对话框(当您收到服务器的响应时会出现该对话框):
AJAX是异步的,这就是为什么您无法获得价值 像这样试试
success:function(data) { //alert to get the data and make sure it was return ok.
var displayBoolean = date === "OK";
alert(displayBoolean);
}
不要从
success
函数返回任何内容(因为正如您所说,它是异步的)。成功部分调用了catchVal函数,它在响应来自serverRight之后调用,但您仍然无法从success
函数返回任何内容。它不起作用。。我正试图用另一种方法,但又卡住了。请帮我检查一下(我已经更新了问题)。谢谢,它不起作用了。。我正试图用另一种方法,但又卡住了。请帮我检查一下(我已经更新了问题)。感谢您在success方法的下一行设置console.log(data)。您的data方法不会返回任何值,即why data==“OK”返回false,代码转到else方法。首先检查你的服务器响应,为什么你不能正常运行或者做其他事情。。控制台确实恢复正常。忘了refresh@ManProgrammer它确实返回了,但无法比较。为什么会这样?您的预期输出是什么请告诉我们?预期输出是弹出框显示“YEA”,当数据返回“OK”时,否则显示“Testing”,您可以粘贴您的console.log输出,放入成功方法中。
success:function(data) { //alert to get the data and make sure it was return ok.
var displayBoolean = date === "OK";
alert(displayBoolean);
}
success:function(data) { //alert to get the data and make sure it was return ok.
if(data == "OK")
{catchVal("OK");return true; } //tried check == true; still cannot
else
{catchVal("Error");return false;}
}
function catchVal(val){
alert(val);
}
$.ajax({
type: "POST",
dataType: "text",
url: "abc.php",
data: { a: a,
b: b,
c: c
},
success:function(data) {
var result = $.trim(data);
if(result == "OK")
{
window.alert("YEA");
goOn();
}
else
{
window.alert("Testing");
noGood();
}