有一个我无法控制的域返回 JSON 数据 - 转到 http://services.example.com/search?store=ITUNES&q=twitter产生类似的东西
{
MySearch: {
resultCount: 1
results: [
{ name: "twitter" }
]
}
}
当我尝试从另一个域(例如从我自己的计算机(使用 jQuery))使用 jsonp 获取它时 --
$.ajax({
url: 'http://services.example.com/search?store=ITUNES&q=twitter',
dataType: 'jsonp',
success: function(data) {
console.log('hi');
}
});
我收到“状态代码:403 禁止”。
以下是服务器响应 header :
Connection:keep-alive
Content-Length:9
Content-Type:text/plain
Date:Thu, 05 Jan 2012 20:33:04 GMT
Server:WEBrick/1.3.1 (Ruby/1.9.3/2011-10-30)
X-Frame-Options:sameorigin
有什么方法可以在不进行任何服务器端更改的情况下获取这些数据吗?
最佳答案
尝试下面的代码片段。请记住,整个响应将作为对象存储在控制台中,您可以简单地使用 data[i] 等引用每个键值对。
var jServices = jQuery.noConflict();
jServices.ajaxSetup({
contentType: "application/jsonp; charset=UTF-8"
});
jServices.getJSON("http://services.joppio.com/services/search?session=AF8990-34GDC-03345&store=ITUNES&pos=0&cnt=10&q=twitter", function (data) {
console.log(data);
});
希望它能解决您的问题。
关于javascript - 403 JSONP 请求被禁止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8749580/