如何使用JQuery,DOJO或纯JavaScript重定向,加载另一个页面但在请求中发送了一些POST参数?
答案 0 :(得分:10)
这应该可行,但我还没有测试过:
function postData(url, data)
{
var form = $('<form></form>');
$(form).hide().attr('method','post').attr('action',url);
for (i in data)
{
var input = $('<input type="hidden" />').attr('name',i).val(data[i]);
$(form).append(input);
}
$(form).appendTo('body').submit();
}
基本上,您可以动态创建表单并提交。不幸的是,你不能直接从脚本发布东西。
答案 1 :(得分:1)
你不能使用JavaScript重定向postdata,我相信jQuery也是如此。但是,你可以做的是......有一个带有帖子数据的隐藏表单,在javascript中根据需要进行操作并提交该表单。
<form id="myform" method="post" action="mypage.php">
<input id="myinput" type="hidden" value="mydata" />
</form>
<script type="text/javascript">
// in some function...
document.getElementById("myform").submit();
</script>
答案 2 :(得分:0)
您可以先对页面发出POST请求,然后重定向:
var urlToPost='http://www.example.com/';
$.post(urlToPost, {'PARAMETER':'VALUE', 'PARAMETER2': 'VALUE2' /*Etc.*/}, function(response){
/*Callback*/
alert(response);
document.location=urlToPost;
})
更多信息:jQuery Documentation
答案 3 :(得分:0)
Voici ma命题:
String.prototype.poster=function()
{
var requeteur=new XMLHttpRequest;
requeteur.open('post',this,true);
requeteur.setRequestHeader('Content-type','application/x-www-form-urlencoded');
var equations=[];
for(i in arguments) equations.push(arguments[i]);
requeteur.send(equations.join(esper));
}
Au chargement,onrécupèrerequeteur.responseText。
vos评论!
Sacapuss
答案 4 :(得分:0)
使用此代码
$().redirect('demo.php', {'arg1': 'value1', 'arg2': 'value2'});