具有JSON响应的跨域请求

时间:2013-10-29 07:20:21

标签: javascript jquery

我正在尝试来自我的js文件的跨域请求。

首先,我正在尝试JSONP但我的目标域URL不支持它。它返回普通的JSON对象。

我授权人员访问我的目标域网址。但我无法根据JSONP响应修改它。

那我怎样才能从目标域名网址获得JSON响应?

3 个答案:

答案 0 :(得分:1)

我总是用jsonp完成它,通过传递一个回调b / c服务返回json,如果回调被传递,那么它将在回调中包装所有json,否则它们将简单地返回json。

但在你的情况下

您可以查看这篇文章 http://www.webdevdoor.com/jquery/cross-domain-browser-json-ajax/

答案 1 :(得分:1)

如果不修改服务器端,你就无能为力了。一般政策是不允许跨域请求。

但值得一提的是:

  1. 尝试更改服务器端,以便它支持JSONP。
  2. 如果HTTP响应包含Access-Control-Allow-Origin标头,那么您可以使用普通的AJAX与它进行通信。仅在现代浏览器中支持此功能。 Check this out了解更多信息。
  3. 您可以使用Flash和/或WebSockets执行跨域请求。但是服务器必须支持它们。

答案 2 :(得分:0)

不知道您正在开发什么类型的应用程序。但是在ASP.NET中,您可以使用代理页面

来完成

这些链接可能会有所帮助:

http://www.codeproject.com/Articles/667611/ASP-NET-Proxy-Page-Used-for-Cross-Domain-Requests

http://encosia.com/use-asp-nets-httphandler-to-bridge-the-cross-domain-gap/

https://gist.github.com/jkresner/3982746