GWT 从跨域接收 xml 作为 JSONP

Posted

技术标签:

【中文标题】GWT 从跨域接收 xml 作为 JSONP【英文标题】:GWT receive xml as JSONP from cross domain 【发布时间】:2014-06-11 14:19:06 【问题描述】:

我正在尝试为我的 GWT 应用程序创建网络抓取功能。这涉及从客户端发出 HTTP 请求,这违反了 SOP。如果其他域正在发送 JSONP 响应,您可以使用 JSONP 来规避此问题。我想向www.google.com(例如)提出请求并废弃html。我想知道的是:有没有办法将GET 请求包装到 JSONP 中的 html 服务域?这样我就可以在不使用代理服务器的情况下发出请求。

注意:如果有人想知道为什么我不能使用代理服务器,那是因为我希望它成为一个完全客户端的应用程序,最终成为一个 phonegap 应用程序。

根据我的阅读,如果不添加一些服务器端代码就无法做到这一点,这是真的吗?

【问题讨论】:

SOP = same-origin policy? 【参考方案1】:

如果我理解正确,您想通过 JSONP 请求检索 JSON 以外的其他内容类型。

嗯,我不知道针对这种情况的现有解决方案。 JSONP 依赖于脚本元素注入,强制您检索到的数据为 javascript (http://en.wikipedia.org/wiki/JSONP#Script_element_injection)。

其他参考: Use JSONP to load an html page Using JSONP when returning XML

【讨论】:

很好的信息资源。我接下来要研究的是将 CORS 与 GWT 结合使用。

以上是关于GWT 从跨域接收 xml 作为 JSONP的主要内容,如果未能解决你的问题,请参考以下文章

JSONP跨域 ajax请求

Ajax--同源策略,jsonp跨域传输

原生js实现简单JSONP

jsonp跨域原理

SpringBoot多跨域请求的支持(JSONP)

原生JS简单封装JSONP跨域获取数据