【发布时间】:2018-06-22 12:19:47
【问题描述】:
我正在做一个 AJAX 调用,它返回一个 JSON 对象,并且成功地是浏览器中的 JSON。然而,成功函数并没有被触发,而是错误块被击中,消息只说“错误”,这没什么好继续的。状态是 200 或 304,我可以在开发者工具中看到网络上的对象,所以它在那里,但我无法在成功函数中访问该对象。
这里是ajax调用:
$.ajax({
type: "get",
dataType: "json",
jsonp: "false",
url: "http://my.api.url:8080/quote",
success: function(r){
var q = r;
$("#quote").append(q);
},
error: function(xhr, status, error) {
console.log(xhr);
}
});
JSON:
{"msg":[{"quote":"quote goes here"}]}
JSON 是由带有 response.json() 的 express/node 应用程序生成的,如果有影响的话,我对这些东西比较陌生。我尝试使用 contentType: 'application/json; 将 jsonp 设置为 false; charset=utf-8',超过数据类型 json,以及其他无效尝试。感谢任何帮助/批评。
【问题讨论】:
-
你也可以试试
complete吗?与成功相同的功能。只有当你有一个 http-header 200 时才会触发成功。 -
@zer02 不,我没试过。我会试一试,谢谢。
-
@zer02 很遗憾没有得到它。
-
你试过了吗:
response.json({success : "works!", status : 200}); -
是的,JSON 正在从服务器传递到浏览器。这是在这里失败的ajax调用。我可以在 url 和开发者工具中查看 JSON 响应。
标签: javascript json node.js ajax