我正在尝试从不支持 jsonp 实现的服务器获取 JSON (getJSON())。即,当添加callback=?
到 URL 时,服务器确实返回了数据,但它返回了没有填充的纯 JSON。
我知道这是必须在服务器端更正的东西 - 没有办法在 jQuery 中解决它。这个对吗?
如果服务器也不支持 CORS 支持jsonp
,您可以在这种情况下尝试代理方法。一个例子http://www.corsproxy.com/,也应该有其他代理替代品。
它有什么作用?
CORS 代理允许您网站上的 javascript 代码访问其他域上的资源,这些资源通常会由于同源策略而被阻止。
它是如何工作的?
CORS 代理利用了跨域资源共享,这是与 HTML 5 一起添加的功能。服务器可以指定他们希望浏览器允许其他网站请求他们托管的资源。CORS 代理只是一个 HTTP 代理,它在响应中添加一个标头,说“任何人都可以请求这个”。