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