jQuery ajax 调用中的 XML API:JSONP 是我唯一的选择吗?
我正在使用 jQuery,我想通过 Ajax 调用查询另一个域上的外部 XML API。
但是,我的请求被阻止,因为它们跨域。
如何在 Ajax 中查询此 API?我是否必须要求 API 开始支持 JSONP 还是有其他选择?
API 的所有者很友好,所以我可以向他们寻求帮助 - 我只是想知道 JSONP 是否是唯一的选择。
谢谢!
I'm working in jQuery and I want to query an external XML API that's on another domain, with an Ajax call.
However, my requests are being blocked because they're across domains.
How can I query this API in Ajax? Do I have to ask the API to start supporting JSONP or do I have any other options?
The owner of the API is friendly, so I can ask them to help - I just wondered whether JSONP is the only option.
thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不幸的是,JSONP 是使用 jQuery 进行跨域 AJAX 的唯一方法。
不过,您可以使用 PHP 和 cURL 进行跨域读取,这与 Yahoo! 的方法相同。第一条评论中提到的代理使用。只需制作一个小型 PHP 脚本,使用 cURL 调用 API 并回显其 XML 响应,该响应又返回到 jQuery 的 AJAX 调用。
JSONP is the only way to do cross-domain AJAX with jQuery unfortunately.
You can however read cross-domain with PHP and cURL, which is the same method that the Yahoo! proxy mentioned in the first comment uses. Simply make a small PHP script that uses cURL to call the API and echo out its XML response, which is in turn returned to jQuery's AJAX call.