【问题标题】:not receiving any call back from ajax call没有收到来自 ajax 调用的任何回电
【发布时间】:2015-09-14 12:49:35
【问题描述】:

我试图在成功的 ajax 调用中提醒任何东西,但它甚至没有提醒,我检查了我的 chrome insoector 网络,我得到了 200 OK...

这是我的 ajax 调用:#

$("#content").on("submit", "#add_qualification_form", function() {
    $.ajax({
        type: $(this).attr('method'),
        url: $(this).attr('action'),
        headers: {'X-Requested-With': 'XMLHttpRequest'},
        dataType: 'json',
        data: $(this).serialize(),
        success: function(data) {
            alert(data);
            if(data.success == "false"){
                $.notify(data.error, "error");
            }else{
                $.notify(data.success, "success");
                $('#add_qualification').text("+ <?php echo System::translate("Add qualification"); ?>");
                $(".add_qualification_json").slideUp("slow");
                $("#content").load("<?php echo Config::get('URL'); ?>qualification/qualifications" + " #inner_main_content");
                $("html, body").animate({ scrollTop: 0 }, "slow");
            }
        }
    });
        return false; // important: prevent the form from submitting
});

这是我直接查看页面时的回应:

{"success":false,"error":"所有输入必须完整,再试一次"}

但我的警报不起作用,success: function 内没有任何工作

repsonse 是一个 json,因此我设置了 dataType,

【问题讨论】:

  • success 之后添加这些行并检查任何其他error 并记录它。 error: function(jqXHR, responseText,status){console.log(jqXHR.responseText)}
  • 成功后你缺少一个错误参数:error: function(data) {} 我不确定它是否需要,但也可以尝试在那里发出警报
  • @Guruprasad Rao,谢谢,伙计。这显示了错误,我的脚本再次运行,对于错误功能,是用于调试还是我也应该将它用于生产?
  • 这实际上是用来以更精确的文本显示任何服务器端错误,基本上是为了处理 ajax 请求中的错误。所以你也可以在生产中使用它,而不是向用户显示一个好消息.. :)

标签: javascript jquery ajax


【解决方案1】:

正如 Guruprassad 在 cmets 中所说,我必须检查以下函数中的错误

error: function(jqXHR, responseText,status){
    console.log(jqXHR.responseText)
}

这有助于检查服务器端错误而不是其他错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 2017-04-01
    • 2019-03-18
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多