jQuery 函数返回 true 或 false,当一切正常时只返回 false
我不知道如何修复它以及出了什么问题。
到目前为止我已经得到了这个,代码:
onclick 函数:
$(document).on('click', '.founditems', function (e) {
var $this = $(this)
var k = $this.attr('href');
if (checkUserSystem(k) == true) {
alert("good");
} else {
alert("bad");
}
});
ajax函数:
function checkUserSystem(k) {
var starttime = $.trim($('#checkusersystemstartime').val());
var k = k;
var dataString = 'k=' + k + '&starttime=' + starttime;
$.ajax({
type: "POST",
url: "r.php?proc=sendCp",
data: dataString,
dataType: 'json',
beforeSend: function () {
},
complete: function () {
},
success: function (data) {
if (data.message == false) {
return false;
} else if (data.cblocked == true) {
return false;
} else {
return true;
}
}
});
return false;
}
该函数在完美运行时总是返回 false,而 PHP 返回 true, 如果我删除 return false;在 ajax 代码的末尾,它将返回 undefined 而不是 true 有什么想法吗?
谢谢。
最佳答案
您必须阅读有关异步执行的内容。 success block 在 ajax 调用“完成”时运行,但在 $.ajax() 调用后将立即继续执行代码。
未定义错误的原因是该方法不会返回任何内容,除非您添加“return false”调用。
您可以将警报真/假部分作为函数参数,否则您将不得不查看 在 ajax 调用的同步版本中。
关于jQuery AJAX 函数返回 true 或 false 仅返回 false,而一切都很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282538/