javascript - 通过 JavaScript 提交数据最简单的方法是什么?

标签 javascript

我有一个托管在域 X 上但嵌入在域 Y 上的 JS 脚本。我想将一些数据发送回域 X 上的页面(可能通过 POST)。

我尝试搜索解决方案,但我找到的大部分信息都涉及使用 jQuery。是否可以通过纯 JavaScript 来做到这一点?我应该担心跨站点脚本问题吗?

基本上,我正在尝试使用类似于 Google Analytics(将数据发送回国内的小部件)的东西。我可以处理数据,但我的 JavaScript 经验非常有限。

最佳答案

提交数据的最简单方法是使用表单。您可以创建一个表单,设置actionmethod 属性,添加带有数据的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/

相关文章:

javascript - jQuery Textillate 选项未创建预期结果

javascript - 在执行新函数之前,如何等待两个 DynamoDB 调用完成?

javascript - 从 JS 函数返回 && 表达式

javascript - MVC - 通过ajax将js变量传递给 Controller ​​,然后在 View 中使用它

javascript - 如何在javascript中循环json格式数组变量

javascript - 如何通过 Javascript 通过 CSS 获取准确的 RGBa 值设置?

javascript - AJAX 发布后 django 模板未重新加载

javascript - 重新加载页面后 IE 不保留它的滚动位置

JavaScript 从数组中查找值,替换为下一个索引

javascript - 有没有办法在 v-for 循环中观察输入(v-model)