我是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(),但它没有用。
有可能吗?
SOLUTION:
人们将我的问题标记为重复,但这并没有解决我的问题。
我要感谢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();
}
它会创建一个<form>
,其ID =“temporary_form”并将其附加到<body>
。将“myarray”上的每个变量提交到“result.php”后,它会删除表单。
以下是如何调用的示例:
<a onclick="var myArray = { name : 'John' , age : '45'}; post2blank('result.php' , myArray);">POST</a>
我在Chrome,IE10和Firefox上测试了android。希望它可以帮助别人。
答案 0 :(得分:2)
您需要创建隐藏表单并致电submit()
。
<form>
标记是使用POST导航到页面的唯一方法。