【问题标题】:Post form to more URLs将表单发布到更多 URL
【发布时间】:2011-11-06 00:50:09
【问题描述】:

有没有办法将表单发布到更多的 URL?
我需要它在javascript中.. 例如:我有 2 个文档:1.php 和 2.php.. 我希望表单将数据发布到这两个文件,但转到 1.php.. 你知道吗?

【问题讨论】:

  • 您可以使用 AJAX 并将数据发送到表单 submit 上的 2.php
  • 您也可以在 1.php 文件中执行类似ob_start(); include('2.php'); ob_end_clean(); 的操作。

标签: php javascript forms


【解决方案1】:

您需要一个带有“1.php”操作和 jQuery 的表单。

$('#form_id').submit(function(event){
    event.preventDefault();

    var $th = $(this);

    $.ajax({
        type: 'post',
        url: '2.php',  // note: edited by Ryan
        data: $th.serialize(),
        success: function(){
            $th.submit();
        }
    });
});

【讨论】:

  • 抱歉,多年后我重新评估了我选择的答案,我明白我选择的答案完全错误。为了这个社区,我接受你的回答是正确的。
【解决方案2】:

使用 JavaScript,是的

您需要使用 JavaScript 中的XMLHttpRequest 函数进行一次调用,以对 php.2 脚本进行 AJAX 调用。然后可以使用document.forms["FORMNAME"].submit() 完成第二次通话。

jQuery's Ajax functions 之类的库可以更轻松地使用 XMLHttpRequest 函数。请参阅 jquery.get()、jquery.post() 和 jquery.ajax()(也称为 $.get()、$.post() 和 $.ajax())函数文档

这里有一些使用 jQuery 的 $.post() 和 $.ajax() 函数进行 AJAX 调用的指南。

  • (http://www.sitepoint.com/ajax-jquery-3/)
  • (http://www.devirtuoso.com/2009/07/beginners-guide-to-using-ajax-with-jquery/)
  • (http://www.phpfreaks.com/forums/index.php?topic=256503.0)
  • (http://www.ryancoughlin.com/2008/11/04/use-jquery-to-submit-form/)

这里还有一个如何编码的示例框架:

...

【讨论】:

    【解决方案3】:

    以上所有解决方案都应该有效,但请记住 ajax 仅在同一域发布中被允许。这意味着您在http://example.com,您只能发布到 example.com/etc 或 sub.example.com
    如果你真的想跨域发帖,你应该创建一个空的 iram 作为目标 (id="iframeid") 然后将表单的目标更改为它:

    <form target="_iframeid" action=""/>
    

    之后你可以使用javascript发布到一个页面,然后更改action url并重新发布

    【讨论】:

      【解决方案4】:

      执行此操作的快速而肮脏的方法是将表单发布到一个脚本,然后再将其发布到第二个脚本。

      【讨论】:

      • 是的,伙计..我在想那个..我想我会用这个方法:-D
      • 我不是专家,所以我很好奇这种方法是否有问题。
      • -1,只需将表单设置为提交到1.php,然后为表单附加一个onsubmit 处理程序,该处理程序将向2.php 发送一个AJAX POST。 +1 ekrembk,我相信他的答案应该是公认的答案:)
      • 我同意,ekrembk 提供了比我更好的解决方案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      • 2018-04-11
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      相关资源
      最近更新 更多