【问题标题】:submit to multiple urls提交到多个 url
【发布时间】:2014-04-23 22:32:29
【问题描述】:

我有一个包含 2 个字段的 html 表单:姓名和电子邮件。 我需要从同一个提交按钮将表单值提交到 2 个不同的 url。我曾尝试使用 jquery、序列化和发布,但我不清楚如何实现这一点。在这种情况下我不能使用 PHP。

<!doctype>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

</head>
<body>

<form action="" method="post" name="myform" id="myform">

<input type="text" value="name" />
<input type="email" value="email" />
<input type="button" id="submit" value="submit" />
</form>

<script type="text/javascript">
$(document).ready(function(){
    var url1 = "some-url.com";
    var url2 = "some-other-url";
   $("#submit").click(function() {
        $.post("url1", $("form#myform").serialize());
    $.post("url2", $('formmy#myform').serialize());
    })
})
</script>
</body>

【问题讨论】:

  • 如果您尝试过使用 jQuery,请向我们展示您的尝试。
  • URL 是否与脚本在同一台服务器上?如果没有,您可能有跨域权限问题。

标签: jquery forms


【解决方案1】:

如果你使用的是 jquery:

$( "form" ).submit(function( event ) {
  submitToURL1();
  submitToURL2();
  //something else
  alert( "Handler for .submit() called." );
  event.preventDefault(); //so that it doesn't get suimitted again
});

submitToURL1 可能类似于:

$.post("url1", data : $("form").serialize());

.serialize() 是一个 jquery 函数,它接受表单中的元素并很好地排列它们,以便您可以将它们作为参数发送到例如 post 方法。 https://api.jquery.com/serialize/

更多信息在这里:https://api.jquery.com/submit/

【讨论】:

  • 当您提交表单时,会生成一个包含表单元素(按其名称索引)的发布请求到您在创建表单时指定的 URL (action="..")。您可以通过自己创建一个带有表单元素的 POST 请求来模拟提交)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
  • 1970-01-01
  • 2016-01-19
  • 2012-12-18
  • 2015-05-06
  • 2011-11-07
  • 2017-05-07
相关资源
最近更新 更多