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

Dan*_*nka 5 javascript jquery dojo

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

Iva*_*van 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();
}
Run Code Online (Sandbox Code Playgroud)

基本上,您可以动态创建表单并提交.不幸的是,你不能直接从脚本发布东西.

  • @Karan只需在表单中添加action ="_ blank"属性:$(form).hide().attr('method','post').attr('action',url).attr('target',' _空白') (2认同)

Rya*_*sas 0

您可以先对页面执行 POST 请求,然后重定向:

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

更多信息:jQuery 文档