我正在寻找使用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。简单的POST将打开页面,然后执行以下操作)
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的答案中获取的代码