Как передать параметры в jquery

Я должен представить 2 значения, называемые str и имя, на другую страницу. Но только одно значение возвращается на следующей странице. Когда я включаю имя и следующую страницу, если я говорю print_r($_POST) , то даже первое значение не печатается. Я написал функцию следующим образом, которая работает, потому что есть только один параметр.

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

Но если я sendValue:str,name 2 значения в этой функции и в $.post , я sendValue:str,name тогда я не получаю даже 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 } 

Вы не можете назначать значения, разделенные запятыми, одному и тому же ключу внутри объекта, так как он нарушает синтаксис 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");