Я должен представить 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");