【问题标题】:How to pass parameters in jqueryjquery如何传递参数
【发布时间】:2010-04-06 10:48:13
【问题描述】:

我应该将 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 中传递 2 个值,那么我什至没有得到 1 个值。

【问题讨论】:

  • 针对上述问题,我制作了2个对象如下“newsletter/subscribe.php”,//Ajax文件{sendValue:str,sendVal:name},但现在在第二页m试图打印_r ($_POST['sendValue']) 和 print_r($_POST['sendVal']) 但我只收到电子邮件而不是姓名。请指导我。

标签: php jquery


【解决方案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 }

【讨论】:

    【解决方案2】:

    您不能将逗号分隔的值分配给对象中的同一键,因为它破坏了 Javascript 语法。您将需要两个 pairs,例如:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-28
      • 2011-10-17
      • 2014-01-21
      相关资源
      最近更新 更多