jquery 需要创建两个函数来从我的网站形式发布数据

au9on6nz  于 2023-04-11  发布在  jQuery
关注(0)|答案(1)|浏览(112)

我有一个HTML表单的网站,在按下“Sumbit”后,我需要将该信息传递到Docusign以及Zapier。我已经用两个按钮完成了它,但试图找出一种方法来使用JavaScript用一个按钮完成它。
理想情况下,当按下“提交”按钮时,我需要将数据传递到Zapier,而无需打开Zapier成功页面,只需重定向到Docusign页面,将所有信息从我的Web表单传递到那里。我如何使用Javascript实现它?
下面是我的HTML代码,有两个按钮:

<form class="item" id="form" action="https://demo.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=*********" method="POST">
    <div class="box">
        <div class="form-group">
            <label>What product are you applying for?</label>
            <input type="text" class="form-control" name="product" value="EFTPOS">
        </div>

        <div class="title-form">
            <h5>Business Details:</h5>
        </div>

        <div class="form-group">
            <label>Merchant Trading Name:</label>
            <input type="text" class="form-control" name="merchantName">
        </div>

        <div class="text-center">
            <button class="btn btn-success btn-lg" type="submit" formaction="https://demo.docusign.net/Member/PowerFormSigning/*******" name="button" onclick="$('form').attr('target', '_blank')">Submit</button>
            <button class="btn btn-success btn-lg" type="submit" formaction="https://hooks.zapier.com/hooks/catch/*****/*****/" onclick="$('form').attr('target', '_blank')">BUTTON 2</button>
        </div>
    </div>
</form>

我尝试了另一篇类似于我的文章中的建议代码,但它不起作用:当我尝试下面的代码时,它根本没有做任何事情:

$(function () {
    var dataString = $(this).serialize();
    $('#form').on('submit', function () {
        $.ajax({
            type: 'POST',
            url: "https://demo.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=963864ea-9fde-4243-bcd1-380c5747876a&env=demo&acct=38dc928a-8528-4368-ba2b-d9d980c9a213&v=2",
            crossDomain: true,
            data: dataString,
            success: function (responseData, textStatus, jqXHR) {
                var value = responseData.someKey;
            },
            error: function (responseData, textStatus, errorThrown) {
                alert('POST failed.');
            }
        }).then(function () {
            $.ajax({
                type: 'POST',
                url: "https://hooks.zapier.com/hooks/catch/14888944/33njn26/silent/",
                crossDomain: true,
                data: dataString,
                success: function (responseData, textStatus, jqXHR) {
                    var value = responseData.someKey;
                },
                error: function (responseData, textStatus, errorThrown) {
                    alert('POST failed.');
                }
            })
        })

        return false
    })
})

当我尝试下面的代码时,它将数据发布到Zapier(第一个链接),但不将其发布到Docusign:

$(function () {
    $('form').submit(function () {
        var data = $(this).serialize();
        
        $.post("https://hooks.zapier.com/hooks/catch/14888944/33njn26/silent/", data, function () {});
        $.post("https://demo.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=963864ea-9fde-4243-bcd1-380c5747876a&env=demo&acct=38dc928a-8528-4368-ba2b-d9d980c9a213&v=2", data, function () {});

        return false;
    });
});

它给了我这个错误:
“index.html:1 CORS策略已阻止从源'null'访问位于'https://demo.docusign.net/Member/PowerFormSigning.aspx?PowerFormId= 963864 ea-9 fde-4243-bcd 1 -380c5747876a&env=demo&acct= 38 dc 928 a-8528-4368-ba 2b-d9 d980 c9 a213 &v=2'的XMLHttpRequest:请求的资源上不存在“Access-Control-Allow-Origin”标头。
jquery.min.js:4
POST https://demo.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=963864ea-9fde-4243-bcd1-380c5747876a&env=demo&acct=38dc928a-8528-4368-ba2b-d9d980c9a213&v=2 net::ERR_FAILED 307(临时重定向)”

Docusign链接在一个单独的HTML按钮中工作,但在上面执行此代码时不工作

flseospp

flseospp1#

DocuSign目前不支持CORS。这是一个长期存在的问题,但应该很快就会解决。
4/14/23是当前预定的发布日期,当你在开发者帐户中看到“设置”菜单下的“CORS”时。在CORS页面上,你将能够打开CORS。此外,你会在集成键上看到一个选项,可以添加源URL沿着批准的方法(POST,PUT,GET,DELETE,HEAD)。
“CORS”在生产中出现的ETA设置为5/2/23。这些日期可能会更改,并且可能会进一步推迟。DocuSign尚未对此公开文档,因为该功能尚未发布。
编辑:一个额外的注意事项是,此更改将仅适用于标准的电子签名API。

相关问题