多个表单提交到跨域网站

时间:2013-05-10 21:19:15

标签: javascript jquery ajax post jsonp

我有一个应用程序,我需要执行多个表单提交到外部站点。我希望表单提交打开新标签。 我所做的是使用javascript创建表单元素,然后我只做一个form.submit()。我知道只有一个才能完成。

我正在寻找工作。一种方法是使用jsonp:

到目前为止我有这样的事情

$.ajax({
    dataType: 'jsonp',
    url: path, 
    type: "POST", 
    async: "false",
    contentType: 'application/x-javascript',
    data: $('this').serializeArray(),
    success: function (html) {
        if (data != "") {     
                var link = html;
                window.open(link,'', ''); //open's link in newly opened tab!
            }
      },
      failure: function (html) {
        alert(html);
      }
    });
        return false; 
    });

然而即使我指定typepost,我在Chrome开发者工具中看到我实际上已经发送了。我猜这是因为window.open。

有人可以提出实现此目的的技巧/

谢谢

1 个答案:

答案 0 :(得分:1)

  

我需要对外部网站执行多个表单提交。我希望表单提交打开新标签。我所做的是使用javascript创建表单元素,然后我只使用form.submit()。

如果您在HTML中将表单元素的target attribute设置为"_blank",并将表单元素实例的action property设置为循环中的每个外部URL(例如, ,设置网址,调用submit;设置下一个网址,调用submit),您应该可以多次提交表单。 (您可能必须在处理用户生成的事件时执行此操作,即使这样,我也不会绝对确定浏览器不会 - 也不应该 - 阻止多个新选项卡发布。)

但我会强烈推迟原来的要求,除非它绝对清楚给最终用户当他们点击该按钮时你要做什么不管。