Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用JQuery重定向,加载另一个页面,但在请求中发送一些POST参数?_Javascript_Jquery_Dojo - Fatal编程技术网

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

Javascript 如何使用JQuery重定向,加载另一个页面,但在请求中发送一些POST参数?,javascript,jquery,dojo,Javascript,Jquery,Dojo,如何使用JQuery、DOJO或普通JavaScript重定向,加载另一个页面,但在请求中发送了一些POST参数?您可以先将POST请求重定向到该页面,然后重定向: var urlToPost='http://www.example.com/'; $.post(urlToPost, {'PARAMETER':'VALUE', 'PARAMETER2': 'VALUE2' /*Etc.*/}, function(response){ /*Callback*/ alert(response); do

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

您可以先将POST请求重定向到该页面,然后重定向:

var urlToPost='http://www.example.com/';
$.post(urlToPost, {'PARAMETER':'VALUE', 'PARAMETER2': 'VALUE2' /*Etc.*/}, function(response){
/*Callback*/
alert(response);
document.location=urlToPost;
})

更多信息:

您不能使用JavaScript使用postdata重定向,我相信jQuery也是如此。但是,您可以做的是…拥有一个包含post数据的隐藏表单,在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>

//在某些功能中。。。
document.getElementById(“myform”).submit();

这应该可以,但我还没有测试过:

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();
}
函数postData(url,数据)
{
变量形式=$('');
$(form).hide().attr('method','post').attr('action',url);
对于(数据中的i)
{
var输入=$('').attr('name',i).val(数据[i]);
$(表格)。追加(输入);
}
$(form).appendTo('body').submit();
}
基本上,您可以动态创建表单并提交它。不幸的是,您不能直接从脚本发布内容。

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));
}
在récupère requeteur.responseText上的Au计费

美国之音评论

Sacapuss使用此代码


$().redirect('demo.php',{'arg1':'value1','arg2':'value2'})
是否也要重定向POST数据?@primvdb是,需要POST数据too@Karan只需将action=“\u blank”属性添加到表单:$(form).hide().attr('method','post').attr('action',url.).attr('target','u blank')@Ivan谢谢,伙计,这正是我需要的。但是有一点,如果您想基于
数据
值生成
输入
名称,那么可以在
数据
变量中传递一个json数组,如下所示:
var data=[{field\u name:'first\u name',val:'some user name'},{field\u name:'last\u name',val:'this is last name'}]
然后在for循环中:
attr('name',data[i].field_name).val(数据[i].val)
。非常方便和容易。祝您今天过得愉快!!请在这里用英语。