1

我有一个带有用户名和密码的 HTML 表单。单击提交按钮后,我想在两个不同的服务器上发布两个不同的 PHP 方法。如何才能做到这一点?这可以使用 HTML 表单来完成吗?或者我应该使用 JavaScript 吗?有什么建议么?

更新

我尝试了以下代码,但它不起作用。我在这里错在哪里?先感谢您..!

<!DOCTYPE html><!--HTML5 doctype-->
<html>
    <head>
        <title id="login_form">Login Form testing</title>
        <script type="text/javascript" src="//code.jquery.com/jquery-1.7.2.min.js"></script>
        <script type="text/javascript">

         $('#loginform').submit(function(){
               $("form" ).on( "submit", function( event ) { 
      event.preventDefault(); // prevent the default submission behavior
      var data = $(this).serialize(); // gather data from the form and serialize it
      $.post('URL_1', data, successAction1); // post it to destination 1
      $.post('URL_2', data, successAction2); // post it to destination 2
 });

 var successAction1 = function() { alert("Success one");};
 var successAction2 = function() { alert("Success two");};


});
        </script>
        </head>
        <body>
        <form id="loginform" action="">
<fieldset >
<legend>Login</legend>
<input type='hidden' name='submitted' id='submitted' value='1'/>

<label for='username' >UserName*:</label>
<input type='text' name='username' id='username'  maxlength="50" />

<label for='password' >Password*:</label>
<input type='password' name='password' id='password' maxlength="50" />

<input type='submit' name='Submit' value='Submit' />

</fieldset>
</form>
        </body>
4

3 回答 3

3

您可以使用 AJAX 发布它,例如。jQuery库:

 $( "form" ).on( "submit", function( event ) { // listen to form submission (use whatever selector suits you, but make sure it is the form itself)
      event.preventDefault(); // prevent the default submission behavior
      var data = $(this).serialize(); // gather data from the form and serialize it
      $.post('URL_1', data, successAction1); // post it to destination 1
      $.post('URL_2', data, successAction2); // post it to destination 2
 });

 var successAction1 = function() { /*what to do after 1st post*/};
 var successAction2 = function() { /*what to do after 2nd post*/};

我建议阅读有关$.serialize$.post的 api 文档

于 2013-06-20T10:05:34.360 回答
2

是的,这可以做到,但你需要一些 javascript。

假设这是您的表格:

<form id="#login">
  <p>
   <label>
     Username:
     <input type="text" name="username" />
   </label>
  </p>
  <p>
    <label>
      Password:
      <input type="password" name="password" />
    </label>
  </p>
  <p>
    <button type="submit">Login</button>
  </p>
</form>

然后这个 JavaScript 会让你开始:

$('#login').on('submit', function(e) {
  e.preventDefault(); // stops the normal functionality of the form
  $.ajax({
    url: 'http://website1.com',
    data: $(this).serialize(),
    success: (data) {
      // do whatever
    }
  });
  $.ajax({
    url: 'http://website2.com',
    data: $(this).serialize(),
    success: (data) {
      // do whatever
    }
  });
});

您需要在页面上安装 jQuery 才能使此解决方案正常工作。

结帐http://api.jquery.com/jQuery.ajax/有关查询 ajax 的更多详细信息。

此外,如果您确实使用不同的域名发布到不同的网站,您将遇到跨域问题。这里的解决方案是使用 CORS。您会在 stackoverflow 上找到许多解决方案。

于 2013-06-20T10:09:16.703 回答
1

使用 JavaScript onclick 函数并调用两个函数。使用ajax

于 2013-06-20T10:02:38.930 回答