Javascript 如何使用JQuery重定向,加载另一个页面,但在请求中发送一些POST参数?
如何使用JQuery、DOJO或普通JavaScript重定向,加载另一个页面,但在请求中发送了一些POST参数?您可以先将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
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)
。非常方便和容易。祝您今天过得愉快!!请在这里用英语。