javascript - 使用 Javascript URL 发布表单

标签 javascript forms post

我正在尝试向非我自己的网站(具有网络潜在客户功能的 salesforce.com)提交表单,并且我是通过 JavaScript 模式窗口来完成此操作。

基本上,一旦所有条目都经过测试并确保没有错误,我就会使用这个:

if(error_count == 0) {
                $.ajax({
                    type: "POST",
                    url: "[salesforce url]",
                    data: "first_name=" + first_name + "&last_name=" + last_name + "&email=" + email + "&firm=" + firm + "&[salesforceid]=" + AUM + "&[salesforceid]=" + custodian + "&[salesforceid]=" + custodian_other,
                    error: function() {
                        $('.error').hide();
                        $('#sendError').slideDown('slow');
                    },
                    success: function () {
                        $('.error').hide();
                        $('.success').slideDown('slow');
                        $('form#callToAction').fadeOut('slow');
                    }               
                }); 
            }

如果在不使用 javascript 的情况下测试表单并且 url 有效,那么我在想 javascript 处理 url 的方式可能是问题所在?

问题:数据未成功提交至 Salesforce。同样,常规 HTML 表单可以工作,而 javascript 则不行。所以我将其确定为 JavaScript 问题。

最佳答案

除非接收服务器允许并且浏览器支持 CORS,否则您无法发出 XHR 跨域请求。但是,您可以像这样进行盲目提交,这将假定成功:

var $form = $("<form>", {
    method: "POST",
    action: "[salesforce url]",
    target: "my-iframe"
}).appendTo("body");

var $iframe = $("<iframe>", {
    name: "my-iframe"
}).bind( "load", function () {
    $('.error').hide();
    $('.success').slideDown('slow');
    $('form#callToAction').fadeOut('slow');
    $iframe.remove();
    $form.remove();
}).appendTo("body");

$.each(("first_name=" + first_name + "&last_name=" + last_name + "&email=" + email + "&firm=" + firm + "&[salesforceid]=" + AUM + "&[salesforceid]=" + custodian + "&[salesforceid]=" + custodian_other).split("&")), function (index, value) {
    var pair = value.split("=");
    $form.append("<input>", {
        type: "hidden",
        name: pair[0],
        value: pair[1]
    });
});

$form.submit();

关于javascript - 使用 Javascript URL 发布表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420364/

相关文章:

javascript - ajax成功后jQuery继续循环执行

Javascript:如何捕获导航到使用 window.location.href = url 的页面上的错误

java - 如何将参数传递给servlet

java - 如何将 POST 表单数据从 HTML 传递到 Java Rest Api

java - Android Http POST 请求不起作用

javascript - 如何在不刷新的情况下显示php传递的结果给ajax

javascript - 执行完我的一组功能后如何做某事?

html - jQueryMobile - 表单样式(下拉图标)

jQuery 表单插件适用于 Firefox 和 IE,但向 webkit 表单添加了无效 ID?

jquery - 如何将href的值发布到php