无法获取

我有一个页面 http://www.a.com/hello 它将返回 JSON,现在我想要在 http://www.b.com 中获取它我尝试了几种跨域ajax方法,但是他们都不起作用:
1. 我无法控制 a.com(尽管我信任它,所以不用担心 XSS)
2. 访问a.com/hello需要cookie/session,所以我无法在b.com上使用代理。
然后我把目光转向其他方法,我注意到img、script、iframe可以跨域获取内容,所以我尝试使用它们来加载内容:
1. iframe:我可以看到iframe中的内容,但由于同源策略,我无法从js中获取它。
2. img: 看不到内容。
3. script:我可以看到内容已加载并评估,但是当我尝试使用 innerHTML 获取

我的问题是,如何执行上面的第三种方法?或者还有其他方法可以解决我的问题吗?
http://www.a.com/hello 的内容如下:

 {"candidate":[{"id":251574647,"name":"\u5f20\u6f47"}]} 

I have a page http://www.a.com/hello which will return a JSON, now I want to get it in http://www.b.com I tried several cross-domain-ajax method, but none of them worked:
1. I have no control over a.com(though I trust it, so don't worry about XSS)
2. to access a.com/hello, cookie/session are needed, so I can't use a proxy on b.com.
Then I turn my eyes to other method, I notice that img, script, iframe can get contents cross domain, so I try to use them to load the content:
1. iframe: I can see the content in iframe, but I can't get it from js due to same-origin-policy.
2. img: Can't see the content.
3. script: I can see that content is loaded and evaluated, but when I try to get the contents between the <script> using innerHTML, I got nothing.

My question is, how to do the 3rd method above? or is there other ways that could solve my problem?
The content of what http://www.a.com/hello is like:

 {"candidate":[{"id":251574647,"name":"\u5f20\u6f47"}]} 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

辞慾 2024-11-23 12:32:47

不,您不能直接访问页面中脚本元素的内容。为了能够执行您想要的操作,您必须使用 JSONP 或让脚本的输出设置/更新特定变量。

No, you can not directly the access the contents of a script element in the page. To be able to do what you want you will have to use JSONP or have the output of your script set/update a specific variable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文