成功和错误都不能在jquery ajax中工作

neither success nor error is working in jquery ajax

本文关键字:ajax 工作 jquery 错误 都不能 成功      更新时间:2023-09-26

我是jquery ajax的初学者。当我使用async: false时,我下面的ajax代码工作得很好,但由于firefox中的问题,我在参考这个链接后删除了它(我面临同样的问题)。现在它不起作用了。甚至没有显示任何错误。

下面是我的代码:
try {
    _ajaxCall = $.ajax({
        url: URL,
        type: "POST",
        data: "drqlFragment=" + text,
        //async : false,
        cache: false,
        headers: {
            accept: "application/json",
            contentType: "application/x-www-form-urlencoded"
        },
        contentType: "application/x-www-form-urlencoded",
        //processData : true,
        success: function (data, textStatus, jqXHR) {
            var resData = data.suggestions;
            for (var i = 0; i < resData.length; i++) {
                sugData.push(resData[i].keyword);
            }
        },
        error: function (response) {
            //Error here
            alert('hello');
        }
    });
} catch (e) {
    alert(e);
}

上面的代码既没有执行success也没有执行error。我甚至试图通过保持try catch块来捕获错误,但没有使用。

问题是我在成功回调函数之外进行操作。当我使用async: false时,它工作得很好。这意味着ajax调用将是同步的。当我删除async: false时,我在成功回调函数之外所做的操作不起作用。问题是由于ajax调用的异步行为。当异步调用ajax调用时,它不会像代码原则那样流动,即一步一步地从上到下,但它可以随时发生。因此,我无法得到想要的输出。

当我替换成功回调中的代码操作时,我的代码工作得很好。感谢@mccannf在上面的评论中指出了问题。:)。