我应该向另一个页面提交2个名为str和name的值。但是在下一页中只返回1值。当我包含姓名时,如果我说print_r($_POST)
,则在下一页上,即使是第一个值也没有打印出来。我编写了如下函数,因为只有一个参数。
function sendValue(str)
{
$.post(
"newsletter/subscribe.php", //Ajax file
{
sendValue: str
},
function(data){
$('#display').html(data.returnValue);
},
"json"
);
}
但如果我在该函数和$.post
中传递了2个值,我会sendValue:str,name
,那么我就得不到1个值。
答案 0 :(得分:1)
你可以发布2个这样的值:
function sendValue(str, name) {
$.post("newsletter/subscribe.php",
{ 'string': str, 'name' : name },
function(data){
$('#display').html(data.returnValue);
},
"json");
}
$.post()
的数据参数的格式如下:
{ 'varName' : variable, 'var2Name', variable2, 'var3Name' : variable3 }
答案 1 :(得分:0)
您不能将逗号分隔值分配给对象中的同一个键,因为它会破坏Javascript语法。您将需要两个对,例如:
function sendValue(str)
{
$.post(
"newsletter/subscribe.php", //Ajax file
{
sendValue: str, anotherValue: anotherStr
},
function(data){
$('#display').html(data.returnValue);
},
"json"
);
}
然后在您的PHP脚本中,您可以anotherValue
访问$_POST['anotherValue']
,它将正确显示在print_r($_POST)
。
如果您愿意,可以发送一个包含键值对的字符串,如下所示:
$.post( "newsletter/subscribe.php", "theValue=something&anotherValue=somethingelse",
function(data){
$('#display').html(data.returnValue);
},"json");