如何使用$ .ajax将正常的JSON检索为JSONP?

我有一个正常的JSON提要,我在一个url(normalJSONfeed)轮询。 我每次都收到cross origin policy error 。 当我无法更改JSON提要(换句话说,我无法在函数调用中包装JSON提要)时,如何更改$.ajax函数以解决此限制。

 $.ajax({ type : "GET", dataType : "jsonp", url : '/normalJSONfeed', data : {} success: function(obj){ } }); 

您无法在代码中更改任何内容,只允许您将JSON请求为JSONP。 由于JSONP请求使用脚本标记来请求数据,因此在加载和处理数据之间没有任何关系可以影响它。

如果您无法更改服务器发送的内容,则需要一台服务器,它可以在响应到来之前更改响应。 我已经设置了一个代理服务器 ,它确实将JSON响应更改为JSONP响应。 请求代理页面并沿返回JSON的资源的URL发送作为参数。

例:

 $.ajax({ dataType : "jsonp", url : 'http://jsonp.guffa.com/Proxy.ashx?url=' + encodeURIComponent('www.someserver.com/normalJSONfeed'), success: function(obj){ } });