如何在完成时提醒ajax响应

时间:2017-01-01 18:59:01

标签: jquery post response

我正在发送POST请求

$.ajax({
   type : "POST",
   url : 'https://123.com/test.php',
   data: {json: json, id: id, token: token, number: num},
   xhrFields: {
                withCredentials: true
            },
   complete : function(data){                   
                alert( "Status: " + data.responseText );
   },
});

发布请求正在运行,当我查看chrome控制台时,我可以看到响应是"成功",但我无法显示它。

我试过了

data.responseText

jQuery.parseJSON(data)

JSON.stringify(data)

我总是得到空警报框

2 个答案:

答案 0 :(得分:0)

执行成功或错误回调后,

完成执行。

<强>成功

  

该函数传递两个参数:从...返回的数据   服务器,根据'dataType'参数格式化,以及字符串   描述状态。

<强>完整

  

该函数传递两个参数:XMLHttpRequest对象和   描述请求成功类型的字符串。

因此,如果您将complete替换为success,则还必须将data.responseText替换为data

尝试以下

$.ajax({
   type : "POST",
   url : 'https://123.com/test.php',
   dataType: 'json',
   data: {json: json, id: id, token: token, number: num},
   xhrFields: {
                withCredentials: true
            },
   success : function(data){                   
                console.log(data);
   },
});

如果您需要在成功回调中访问整个XMLHttpRequest对象,我建议您尝试这样做。

var myXHR = $.ajax({
    ...
    success: function(data, status) {

    },
    ...
});

答案 1 :(得分:0)

你可以在下面尝试,(如果你不想使用ajax success

complete: function(event,xhr,options) {
  alert(xhr.responseText);
}
  • event - 包含事件对象
  • xhr - 包含XMLHttpRequest对象
  • options - 包含AJAX请求中使用的选项