通过 JavaScript 跨不同子域读取 JSON 文件?

发布于 2024-10-19 04:17:43 字数 136 浏览 4 评论 0原文

是否可以(如果可以,最安全的方法是什么)在位于 maindomain.com、another.maindomain.com 等的 JS 脚本中从子域(例如 somesubomain.maindomain.com)读取 JSON 文件?

谢谢!

Is it possible (and if so, what's the most secure way) to read a JSON file from a subdomain such as somesubomain.maindomain.com in a JS script residing in maindomain.com, another.maindomain.com etc?

Thanks!

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

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

发布评论

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

评论(3

傲影 2024-10-26 04:17:43

看看 document.domain 的工作原理:https:// developer.mozilla.org/en/DOM/document.domain

另一个解决方案是使您的 json 文件成为一个 JavaScript 文件(jsonp 样式),该文件调用一个函数,以便可以使用不具有脚本标记的脚本标记来嵌入它同源限制。

Have a look at how document.domain works: https://developer.mozilla.org/en/DOM/document.domain

Another solution would be make your json file a JavaScript file (jsonp-style) which calls a function so it can be embedded using a script tag which does not have same-origin restrictions.

森林很绿却致人迷途 2024-10-26 04:17:43

您不应该这样做,因为所有浏览器上都强制执行同源策略,但您可以...查看跨域 ajax 请求的解释。

http://alexsexton.com/?p=154

JSONP 是我发现最容易实现的与此类东西一起工作。

Your not supposed to due to the same origin policy enforced on all browsers, but you can... Check out this explanation of cross domain ajax requests.

http://alexsexton.com/?p=154

JSONP is what I found to be the easiest to work with for this type of stuff.

倾其所爱 2024-10-26 04:17:43

我通过两种方式执行此操作:

  1. 让您的服务器代表您的客户端进行调用。我的意思是,接受您要从浏览器进行的调用,并将其设为服务器上的 Web 服务。然后让您的客户端调用您的网络服务,然后网络服务将进行调用并返回响应。这使您可以检查来回发送的内容。
  2. 使用 JSONP。他们的服务器必须为此进行配置,我不确定是否有任何额外的安全性。

I do this two ways:

  1. Have your server make the call on behalf of your client. What I mean by that, is take the call you were going to make from the browser, and make it a web service on the server. Then have your client call your webservice, which will then make the call and return the response. This allows you to inspect what's being sent back and forth.
  2. Use JSONP. Their server must be configured for this, and I'm not sure there is any added security..
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文