如何在jquery中传递参数

时间:2010-04-06 10:48:13

标签: php jquery

我应该向另一个页面提交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个值。

2 个答案:

答案 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");