如何使用JQuery重定向,加载另一个页面,但在请求中发送了一些POST参数?

时间:2011-06-22 12:31:37

标签: javascript jquery dojo

如何使用JQuery,DOJO或纯JavaScript重定向,加载另一个页面但在请求中发送了一些POST参数?

5 个答案:

答案 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'});