2010-04-06 8 views
1

Je suis supposé soumettre 2 valeurs appelées str et name à une autre page. Mais 1 seule valeur est renvoyée dans la page suivante. Lorsque j'inclus le nom et sur la page suivante si je dis print_r($_POST), même la première valeur n'est pas imprimée. J'ai écrit une fonction comme suit, qui fonctionne parce qu'il n'y a qu'un seul paramètre.Comment passer les paramètres dans jquery

function sendValue(str) 
{ 
$.post(
"newsletter/subscribe.php", //Ajax file 
{ 
    sendValue: str 
}, 
function(data){ 
     $('#display').html(data.returnValue); 
      }, 
    "json" 
); 
} 

Mais si je passe 2 valeurs dans cette fonction et dans $.post, je sendValue:str,name alors je ne reçois pas même 1 valeur.

+0

au problème ci-dessus, je l'ai fait 2objects comme suit « lettre d'information/subscribe.php », // fichier Ajax \t \t \t \t \t \t \t {sendValue: str, \t \t \t \t sendVal: nom \t \t \t \t}, mais maintenant à la deuxième page m essayant de print_r ($ _ POST ['sendValue']) et print_r ($ _ POST ['sendVal']) mais je reçois seulement l'email et non le nom. moi. – Priyanka

Répondre

1

Vous pouvez poster 2 valeurs comme ceci:

function sendValue(str, name) { 
    $.post("newsletter/subscribe.php", 
     { 'string': str, 'name' : name }, 
     function(data){ 
      $('#display').html(data.returnValue); 
     }, 
     "json"); 
} 

Le format de l'argument de données de $.post() est comme ceci:

{ 'varName' : variable, 'var2Name', variable2, 'var3Name' : variable3 } 
+0

ouais merci, problème résolu – Priyanka

0

Vous ne pouvez pas attribuer des valeurs séparées par des virgules à la même clé dans un objet, car il brise la syntaxe Javascript. Vous aurez besoin de deux paires , .: par exemple

function sendValue(str) 
{ 
    $.post(
    "newsletter/subscribe.php", //Ajax file 
    { 
     sendValue: str, anotherValue: anotherStr 
    }, 
    function(data){ 
     $('#display').html(data.returnValue); 
    }, 
    "json" 
    ); 
} 

Ensuite, dans votre script PHP, vous pouvez accéder à anotherValue comme $_POST['anotherValue'], et il affichera correctement dans print_r($_POST).

Si vous préférez, vous pouvez envoyer une seule chaîne avec des paires de valeurs clés comme suit:

$.post("newsletter/subscribe.php", "theValue=something&anotherValue=somethingelse", 
     function(data){ 
      $('#display').html(data.returnValue); 
     },"json"); 
+0

ouais merci, problème résolu – Priyanka

Questions connexes