【问题标题】:jQuery passing variable to new page via POST without forms [duplicate]jQuery通过没有表单的POST将变量传递到新页面[重复]
【发布时间】:2013-06-23 12:07:38
【问题描述】:

我是 jQuery 新手,我正在寻找一种通过 POST 方法将变量传递到新页面而不使用表单的方法。

使用 GET 很简单:

$("#my_link").click(function(){
    var name = 'John';
    var url = "my_new_page.php?name=" +name;
    window.open(url);
});

如何使用 POST 做同样的事情?

我尝试了 .load()、.post() 和 .ajax(),但没有成功。

有可能吗?


解决方案:

人们将我的问题标记为重复,但这并没有解决我的问题。 感谢 SLaks,看来<form> 是唯一的方法。

我制作的这个功能很好用:

function post2blank(url,myarray)
{   var myform = '<form id="temporary_form" action="' +url+ '" target="_blank" method="POST">';
    $.each(myarray, function( key, value ){myform += '<input name="' +key+ '" value="' +value+ '"/>';});
    myform += '</form>';
    $(myform).appendTo('body').submit();
    $('#temporary_form').remove();
}

它创建一个 id="temporary_form" 的&lt;form&gt; 并将其附加到&lt;body&gt;。将“myarray”上的每个变量提交到“result.php”后,它会删除表单。

这是一个如何调用的示例:

<a onclick="var myArray = { name : 'John' , age : '45'}; post2blank('result.php' , myArray);">POST</a>

我在 Chrome、IE10 和 Firefox for android 上进行了测试。希望它可以帮助别人。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您需要创建一个隐藏表单并调用submit()

    &lt;form&gt; 标签是使用 POST 导航到页面的唯一方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 2016-09-01
      • 1970-01-01
      相关资源
      最近更新 更多