How do I redirect using either JQuery, DOJO or plain JavaScript, load another page but sent some POST parameters in request?
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.
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>
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
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
use this code
$().redirect('demo.php', {'arg1': 'value1', 'arg2': 'value2'});
来源:https://stackoverflow.com/questions/6439868/how-to-redirect-with-jquery-load-another-page-but-sent-some-post-parameters-in