获得 json 响应,需要 jsonp
Getting json response, need jsonp
嗨,我知道这是一个常见问题,但我还没有看到任何解决方案。
这是我的代码:
$.ajax({
url: "https://my.zipato.com:443/zipato-web/v2/user/init",
dataType: "jsonp",
jsonp: "mycallback",
success: function (data) {
alert(data.nonce);
}
});
服务器以 [=21=] 响应,我在控制台中看到响应但缺少错误;在声明之前,因为它是 json 而不是我需要的 jsonp。好的,但是当我将数据类型更改为 json 时,我遇到了跨源问题。我尝试了 test-cors.org 并且服务器似乎不接受 cors。我现在的解决方案是什么?我尝试了很多示例,但 none 有效。
我如何访问我得到的响应并读取其中的信息,我可以覆盖我得到的错误或其他什么吗?我无法访问服务器来更改任何内容。
返回的数据格式完全由您向其发出请求的服务器控制,在本例中它是普通的旧 JSON。你无法改变这一点。
如果第三方服务器不支持通过 JSONP 或 CORS 的跨域请求,那么您需要使用服务器端代理,然后让您的 JS 在您的本地域中发出请求。
嗨,我知道这是一个常见问题,但我还没有看到任何解决方案。
这是我的代码:
$.ajax({
url: "https://my.zipato.com:443/zipato-web/v2/user/init",
dataType: "jsonp",
jsonp: "mycallback",
success: function (data) {
alert(data.nonce);
}
});
服务器以 [=21=] 响应,我在控制台中看到响应但缺少错误;在声明之前,因为它是 json 而不是我需要的 jsonp。好的,但是当我将数据类型更改为 json 时,我遇到了跨源问题。我尝试了 test-cors.org 并且服务器似乎不接受 cors。我现在的解决方案是什么?我尝试了很多示例,但 none 有效。
我如何访问我得到的响应并读取其中的信息,我可以覆盖我得到的错误或其他什么吗?我无法访问服务器来更改任何内容。
返回的数据格式完全由您向其发出请求的服务器控制,在本例中它是普通的旧 JSON。你无法改变这一点。
如果第三方服务器不支持通过 JSONP 或 CORS 的跨域请求,那么您需要使用服务器端代理,然后让您的 JS 在您的本地域中发出请求。