gpt4 book ai didi

jquery - 向两台服务器提交表单

转载 作者:行者123 更新时间:2023-12-01 00:10:49 25 4
gpt4 key购买 nike

我希望能够将表单提交到两个服务器。这就是原因(如果有更好的方法,我洗耳恭听)

我有一个嵌入 Mechanical Turk 的 iframe。 iframe 中有一个表单。

当工作人员提交表单时,我需要做两件事:

我需要通知我的本地服务器,以便我可以立即采取一些操作。我需要将结果发布到 mturk,以便 turk 显示下一个作业。

如果我不这样做,我的服务器需要轮询 turk 来完成作业,这是低效的。

我尝试了多种方案,但无法让它们发挥作用。

我尝试使用 ajax 在本地完成一篇文章,并提交一份表单,使用的代码如下所示:

<%= form_for(@task, :url => "http://workersandbox.mturk.com/mturk/externalSubmit", 
:remote => true, :method => "post", :authenticity_token => false) do |f| %>

....

在我不显眼的 js 文件中

$(form).post({url: "/notify",opt, function() {console.log("notify done")});

这会导致 js 错误

XMLHttpRequest cannot load http://workersandbox.mturk.com/mturk/externalSubmit. Origin http://mytest.herokuapp.com is not allowed by Access-Control-Allow-Origin. 

我无法控制服务器,因此无法解决此问题。

任何有关正确执行此操作的方法的建议将不胜感激。

最佳答案

使用 jQuery 很容易做到这一点。本质上,如果您使用 .serialize() 方法,您可以将数据发布到任意多个位置。

假设您有这样的表单:

<form>
<input type="text" id="field1" name="field1" value="abc123" />
<input type="text" id="field2" name="field2" value="def456" />
<input type="submit" value="Submit" />
</form>

您可以使用以下执行 POST 的 jQuery 代码

$(function() {
$('form').submit(function() {
var data = $(this).serialize();

$.post("http://www.location1.com/somePlace/", data, function() { });
$.post("http://www.location2.com/anotherPlace/", data, function() { });

return false;
});
});

关于jquery - 向两台服务器提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com