【发布时间】:2014-04-09 13:38:28
【问题描述】:
我想从 API 请求数据。它返回 JSON 格式的数据,例如 {"numberOne":12345,"numberTwo":678}
我尝试了这段 Javascript 代码,但它给了我一个语法错误,因为答案不是 JSONP,而是 JSON
$.ajax({
url: 'https://example.com/api',
dataType: 'JSONP',
jsonpCallback: 'callback',
type: 'GET',
success: function (data) {
document.write(data);
}
});
XMLHttpRequest 无法正常工作,因为该请求是针对其他域的。
也许您知道一种从 url 获取数据的简单方式(我是 Javascript 新手)。是否可以让脚本忽略响应的语法?
【问题讨论】:
-
如果 API 提供者不支持 JSONP,并且没有启用跨域请求,这意味着他们不希望以这种方式访问他们的 API。使用服务器端代理来做到这一点..
-
显然服务器不允许你做你正在寻找的东西。即使您可以在服务器端代理它,更好的办法是尊重这第三项服务并且不要这样做!
-
如果您不能使用自己的代理,您也可以通过jsonp.jit.su等服务进行代理
-
@nedt 谢谢。这行得通。
标签: javascript jquery json jsonp