getJSON returns 200 但错误
getJSON returns 200 but errors
我正在尝试编写一些简单的 Javascript 以从 URL.
加载 JSON 负载
我知道我有 CORS 问题,目前我对此没有意见。
我可以禁用 chrome 的检查。
我遇到的问题是我得到了 200 OK 响应,但也有一个错误,我不明白为什么。
var urlAddress = "https://light-ratio-149809.appspot.com/ESI-OrgUnitService?jsoncallback=?";
$.getJSON(urlAddress, {
format: "json"
})
.always(function( jqXHR, textStatus, errorThrown ) {
console.log("reponse textStatus["+textStatus+"] errorThrown["+errorThrown+"] [" + jqXHR.responseText + "]");
})
.done(function(data) {
console.log("success");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
谁能告诉我哪里出错了?
如果我使用这个 JSON 负载,它就可以工作。
该错误看起来是一个解析错误。
reponse textStatus[parsererror] errorThrown[Error:
jQuery331004379421802427674_1551456238952 was not called] [undefined]
parseError 是因为 jQuery 认为您期待 JSONP 响应(即某些可执行文件 Javascript),而不仅仅是 JSON 数据。它认为是因为您将 jsonCallback
querystring 参数添加到 URL。
一旦你删除它,它就会返回到期待常规 JSON(这是端点 returns),但随后被服务器的 CORS 限制击败。
您无法通过假装想要接收 JSONP 来绕过 CORS,但实际上这并不是服务器返回的内容。我建议您查明此服务器是否确实具有 JSONP 端点,或者您的应用程序是否可以添加为允许的 CORS 客户端。
我正在尝试编写一些简单的 Javascript 以从 URL.
加载 JSON 负载我知道我有 CORS 问题,目前我对此没有意见。 我可以禁用 chrome 的检查。
我遇到的问题是我得到了 200 OK 响应,但也有一个错误,我不明白为什么。
var urlAddress = "https://light-ratio-149809.appspot.com/ESI-OrgUnitService?jsoncallback=?";
$.getJSON(urlAddress, {
format: "json"
})
.always(function( jqXHR, textStatus, errorThrown ) {
console.log("reponse textStatus["+textStatus+"] errorThrown["+errorThrown+"] [" + jqXHR.responseText + "]");
})
.done(function(data) {
console.log("success");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
谁能告诉我哪里出错了?
如果我使用这个 JSON 负载,它就可以工作。
该错误看起来是一个解析错误。
reponse textStatus[parsererror] errorThrown[Error: jQuery331004379421802427674_1551456238952 was not called] [undefined]
parseError 是因为 jQuery 认为您期待 JSONP 响应(即某些可执行文件 Javascript),而不仅仅是 JSON 数据。它认为是因为您将 jsonCallback
querystring 参数添加到 URL。
一旦你删除它,它就会返回到期待常规 JSON(这是端点 returns),但随后被服务器的 CORS 限制击败。
您无法通过假装想要接收 JSONP 来绕过 CORS,但实际上这并不是服务器返回的内容。我建议您查明此服务器是否确实具有 JSONP 端点,或者您的应用程序是否可以添加为允许的 CORS 客户端。