2010-04-06 77 views
1

我應該提交2個名爲str和name的值給另一個頁面,但只有1個值會在下一頁返回。如果我說print_r($_POST)包含名稱並在下一頁上,則即使第一個值也沒有打印。我寫了一個函數如下,這是有效的,因爲只有一個參數。如何在jQuery中傳遞參數

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

但是,如果我通過在功能和$.post 2倍的值,我做sendValue:str,name然後,我沒有得到,甚至1倍的值。

+0

上述問題,我做2objects如下 「通訊/ subscribe.php」,//阿賈克斯文件 \t \t \t \t \t \t \t {sendValue:STR, \t \t \t \t sendVal:命名 \t \t \t \t}, 但現在在第二頁m嘗試print_r($ _ POST ['sendValue'])和print_r($ _ POST ['sendVal']),但我只收到電子郵件,而不是name.Please指南我。 – Priyanka 2010-04-06 11:17:51

回答

1

您可以張貼這樣2個值:

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

用於$.post() data參數的格式是這樣的:

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

耶謝謝,問題解決了 – Priyanka 2010-04-06 11:02:22

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

耶謝謝,問題解決了 – Priyanka 2010-04-06 11:07:19