JS/JQuery 中的跨域获取请求
有没有办法不使用服务器代理来执行跨域 GET 或 POST 请求?
Is there a way without using a server proxy to perform a cross domain GET or POST request?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您仅使用当前的浏览器并且可以控制外部域,则可以使用 Cross-原始资源共享 [CORS]
大多数人没有那么奢侈,因此您要么必须使用带填充的 JSON [JSONP],要么需要使用服务器端代理。
If you are with only the current day browsers and have control over the external domain, you can use Cross-Origin Resource Sharing [CORS]
Most people do not have that luxury so you either have to use JSON with Padding [JSONP] or you need to use a serverside proxy.
据我所知,在JS中没有办法发出跨域请求,但你可以只查询你的服务器并从那里发出请求。
编辑:正如 Russ Cam 上面所说,查看 JSONP。
As far as I know, there is no way to make a cross-domain request in JS, but you could just query your server and make the request from there.
Edit: as Russ Cam said above, look into JSONP.
使用 YQL 是执行跨域 ajax 的简单方法。您可以指定返回 JSON 或 XML 对象。 IBM 有一个很好的教程:http://www. ibm.com/developerworks/web/library/wa-aj-jsonp2/index.html
虽然只搜索 yql crossdomain,它会带来大量教程。
Using YQL is an easy way of doing cross domain ajax. You can specify to have a JSON or XML object returned. IBM has a good tutorial: http://www.ibm.com/developerworks/web/library/wa-aj-jsonp2/index.html
Though just search for yql cross domain and it'll bring up numerous tutorials.
你可以使用Flash。 Flash 允许您向另一台服务器发出跨域请求,前提是该服务器提供 Flash 跨域策略文件(XML 文件)。因此,您需要对其他服务器进行管理访问才能进行设置。
如果您认为此选项可能是您正在寻找的或者您想要进行 SSL/TLS 跨域,请查看开源 Forge 项目:
http://github.com/digitalbazaar/forge/blob/master/README
You could use Flash. Flash allows you to make a cross-domain request to another server provided that it serves a Flash cross-domain policy file (an XML file). So you will need administrative access to the other server in order to set that up.
If you think this option might be what you're looking for or you want to do SSL/TLS cross-domain, check out the opensource Forge project:
http://github.com/digitalbazaar/forge/blob/master/README
AJAX Cross Domain 是一个低成本的库,允许执行跨域 AJAX 请求。 http://www.ajax-cross-domain.com/
AJAX Cross Domain is a low-cost library that allows to perform cross-domain AJAX requests. http://www.ajax-cross-domain.com/