繁体   English   中英

如何通过1个表单提交到2个域?

[英]How Can I Post to 2 Domains on 1 Form Submit?

我的网站上有一个表单,可通过php POST将数据提交给Salesforce。 同时,我试图将相同的数据发布到自己的站点,以便将信息存储在自己的数据库中。 如何使用php发布到两个地方?

这是供参考的表格:

<form class="gk-form" id="GK-Form" action="https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST" novalidate="novalidate">
    <input type="hidden" name="oid" value="000000000000">
    <input id="ReturnUrl" type="hidden" name="retURL" value="https://exampleurl.com">
    <input id="company" type="hidden" name="company" value="examplecompany">
    <input id="lead_source" type="hidden" name="lead_source" value="LeadSource">
    <input class="sidebar-form valid" id="last_name" type="text" name="last_name" placeholder="First Name ..." required="">
    <input class="sidebar-form valid" id="email" type="email" name="email" placeholder="Email address ..." required="">
    <input class="sidebar-form" type="submit" name="lead_submit" value="Try It Free!">
</form>

您可以通过重载onSubmit事件将其转换为AJAX请求,然后可以对每个服务器运行2个ajax调用,以捕获两者的输出,然后从那里进行。

或者,您可以先将POST请求发送到您的服务器,然后您的服务器可以使用POST类型和POST数据作为表单中的字段来卷曲Salesforce URL。

您可以通过进行ajax调用来使用jQuery。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#GK-Form").submit(function(e)
        {
            var postData = $("#GK-Form").serializeArray();
            var formURL0 = "https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8"
            $.ajax(
            {
                url : formURL0,
                type: "POST",
                data : postData,
                success:function(data, textStatus, jqXHR) 
                {
                    alert("post sent to first server");
                },
                error: function(jqXHR, textStatus, errorThrown) 
                {
                    //if fails      
                }
            });
            var formURL1 = "your second url"
            $.ajax(
            {
                url : formURL1,
                type: "POST",
                data : postData,
                success:function(data, textStatus, jqXHR) 
                {
                    alert("post sent to second server");
                },
                error: function(jqXHR, textStatus, errorThrown) 
                {
                    //if fails      
                }
            });


        });
    });

</script>

HTML形式:

<form class="gk-form" id="GK-Form">
    <input type="hidden" name="oid" value="000000000000">
    <input id="ReturnUrl" type="hidden" name="retURL" value="https://exampleurl.com">
    <input id="company" type="hidden" name="company" value="examplecompany">
    <input id="lead_source" type="hidden" name="lead_source" value="LeadSource">
    <input class="sidebar-form valid" id="last_name" type="text" name="last_name" placeholder="First Name ..." required="">
    <input class="sidebar-form valid" id="email" type="email" name="email" placeholder="Email address ..." required="">
    <input class="sidebar-form" type="submit" id="submit_Button" name="lead_submit" value="Try It Free!">
</form>

好吧,让我提出以下3个简单步骤:

  1. 首先,您需要使表单提交到您自己的脚本。
  2. 然后,无论您希望接收的数据是什么。
  3. 最后,完成后,您将使用HttpRequest对象( http://www.php.net/manual/de/class.httprequest.php )生成将所有数据转发到salesforce服务器的请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM