我有一个托管在域 X 上但嵌入在域 Y 上的 JS 脚本。我想将一些数据发送回域 X 上的页面(可能通过 POST)。
我尝试搜索解决方案,但我找到的大部分信息都涉及使用 jQuery。是否可以通过纯 JavaScript 来做到这一点?我应该担心跨站点脚本问题吗?
基本上,我正在尝试使用类似于 Google Analytics(将数据发送回国内的小部件)的东西。我可以处理数据,但我的 JavaScript 经验非常有限。
最佳答案
提交数据的最简单方法是使用表单
。您可以创建一个表单,设置action
、method
属性,添加带有数据的input
,设置它的值,然后执行form。提交()
。为了不将用户重定向到您的网站,您还应该使用隐藏 iframe 的名称填充 target
属性。在这种情况下,表格将被提交“其中”。页面不会重新加载,但您的页面将加载到 iframe(隐藏)中。此方法允许您执行 POST 请求。
如果你只需要 GET 请求,事情就更简单了:在 JS 中创建一个 Image
对象,并用请求的 url 设置 src
字段。我不知道这个解决方案的跨浏览器和稳定性如何,但据我所知,它是有效的。事实上,您可以创建任何其他元素并将其添加到页面以加载其内容(样式、脚本(并放置一些代码以响应评估))。
关于跨域的东西:
- 如果是 GET 请求,您可以发送和接收信息。
- 如果是 POST 请求,则无法(对我而言)获得响应。
我建议您阅读一些有关 JavaScript 和 HTML 表单中的 DOM 操作的内容,以了解其机制以及如何模拟 JS 中的表单提交(基本上我在前两段中对其进行了描述)。
关于javascript - 通过 JavaScript 提交数据最简单的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13955646/