jQuery AJAX 函数返回 true 或 false 仅返回 false,而一切都很好

标签 jquery ajax

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/

相关文章:

jquery - 无法向 jquery getJSON 添加回调函数

javascript - 限制 AJAX 调用的结果

javascript - "..."和 '...' 之间有解释差异吗?

javascript - 删除动态列的值的总和计算错误

javascript - 需要使用 JQuery 和 Shopify 创建集合并使用返回的 ID 添加产品的示例

asp.net - 单击“确定”或“取消”时防止隐藏 ModalPopupExtender

php - .post 的 Json_encode?

javascript - 将两个变量从 php 传递到 ajax 然后返回到 php

javascript - 如何在使用 Apple pencil 时从 HTML canvas 绘制或获取指针坐标?

jquery - knockout : Expanding the SimpleGrid to Support Sorting