我正在寻找使用POST方法将参数从一页上的javascript / jquery传递到另一页上的PHP的最简单方法。

我应该提到两个页面都是wordpress页面的PHP模板,但我想应该没关系。

希望双方都提供示例代码。

最佳答案

$.ajax({
  type: 'POST',
  url: 'otherpage.php',
  data: $('form').serialize(), //you may want to give id of the form which contains elements you want to POST
  success: function(){
      //code on success
  },
  dataType: 'html'
});




编辑1
如果您想指定自己的参数发送,然后使用:

$.ajax({
  type: 'POST',
  url: 'otherpage.php',
  data: {
          paramname1 : "put_param_value_here",
          paramname2 : "put_param_value_here",
          paramname3 : "put_param_value_here"
        },
  success: function(){
      //code on success
  },
  dataType: 'html'
});




编辑2:如果您只想将自己的参数发布到页面上(没有ajax。简单的P​​OST将打开页面,然后执行以下操作)

function postToUrl(url, params, newWindow)
{
    var form = $('<form>');
    form.attr('action', url);
    form.attr('method', 'POST');
    if(newWindow){ form.attr('target', '_blank'); }

    var addParam = function(paramName, paramValue){
        var input = $('<input type="hidden">');
        input.attr({ 'id':     paramName,
                     'name':   paramName,
                     'value':  paramValue });
        form.append(input);
    };

    // Params is an Array.
    if(params instanceof Array){
        for(var i=0; i<params.length; i++){
            addParam(i, params[i]);
        }
    }

    // Params is an Associative array or Object.
    if(params instanceof Object){
        for(var key in params){
            addParam(key, params[key]);
        }
    }

    // Submit the form, then remove it from the page
    form.appendTo(document.body);
    form.submit();
}


像这样打电话:

postToUrl('otherpage.php', {paramname1: "value_here", paramname2: "value_here"});


JavaScript post request like a form submit的答案中获取的代码

07-24 17:22