How do I redirect using either JQuery, DOJO or plain JavaScript, load another page but sent some POST parameters in request?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
This should work, but i haven't tested it:
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();
}
Basically you can create a form on the fly and submit it. Unfortunately you can not POST stuff directly from script.
回答2:
You can't redirect with postdata using JavaScript, and I'm sure it's the same for jQuery as well. However, what you can do is...have a hidden form with post data, manipulate it as you need in javascript and submit that form.
<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>
回答3:
You can do first the POST request to the page, and then redirect:
var urlToPost='http://www.example.com/';
$.post(urlToPost, {'PARAMETER':'VALUE', 'PARAMETER2': 'VALUE2' /*Etc.*/}, function(response){
/*Callback*/
alert(response);
document.location=urlToPost;
})
More info for this: jQuery Documentation
回答4:
Voici ma proposition :
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, on récupère requeteur.responseText.
A vos commentaires !
Sacapuss
回答5:
use this code
$().redirect('demo.php', {'arg1': 'value1', 'arg2': 'value2'});