微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery.ajax()到json url返回一个字符串而不是一个json对象

我遇到的问题是传递给我的complete()回调函数的数据对象不是json对象,而是[Object object].我可以在data.responseText中看到我的json响应字符串.

这是我的jQuery .ajax请求:

$.ajax({
  url: 'api.PHP',dataType: 'json',data: {
    command: "GetBlacklist"
  },type: 'POST',error: function(jqXHR,textStatus,errorThrown)
  {
    messageDiv.append("Error: " + errorThrown + "<br />");
  },complete: function(json)
  {
    $('.blacklist textarea').text(json.message);
    messageDiv.append("Blacklist loaded.");
  }
});

以下是发送的响应:

{"message":"success","result":0}

它评估为有效的JSON,我从服务器发送正确的json内容类型头.难倒在这一个

解决方法

完整的回调签名完成(jqXHR,textStatus),jqXHR为您提供[Object object].

相反,您应该使用success(data,jqXHR)回调,如果请求成功,将调用该回调,这次数据将为您提供正确的回复.

更多信息请查看the manual.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐