2013-09-21 52 views
0

我有兩個變量和一個數組,我試圖傳遞給PHP頁面。不幸的是,雖然我確實做了一些搜索,但我無法成功傳遞數組。變量工作正常。任何幫助?通過POST將數組從JQuery傳遞到PHP

繼承人我的jQuery代碼:

$('#submit').click(function() { 
     $.post('process.php', {primary: $prim, secondary: $seco, not: $not}, 
     function(data) { 
      //alert("Data Loaded: " + data); 
      $("#error").html(data); 
     }); 
}); 

其中

$not = {1,2,3}; 

process.php

<?php 
    require("common.php"); 
    $primary = $_POST['primary']; 
    $secondary = $_POST['secondary']; 
    $not = $_POST['not']; 
    //echo("primary: "+$primary+", secondary: "+$secondary+", not: "+$not); 
    echo($primary); 
?> 

錯誤消息

Notice: Undefined index: not in C:\wamp\www\process.php on line 5 

剛剛意識到也許它因爲`not`是在PHP

都能跟得上的關鍵詞,這是不是因爲那

+0

你的jQuery對我來說沒有意義,因爲你沒有顯示你的變量來自哪裏。例如,請在jsfiddle上發佈完整的示例。 –

+0

使用json和stringify,然後在PHP – Dharman

+0

@Sébastien中解碼它我提到只有數組在傳遞時遇到問題,其他變量傳遞得很好。我還表明'$ not'是數組。那麼困惑在哪裏? – Bob

回答

0

在你的JQuery使用加入( 「」)

$('#submit').click(function() { 
     $.post('process.php', {primary: $prim, secondary: $seco, not: $not.join(",")}, 
     function(data) { 
      //alert("Data Loaded: " + data); 
      $("#error").html(data); 
     }); 
}); 

而在你的PHP使用爆炸()函數從字符串轉換爲數組

<?php 
    require("common.php"); 
    $primary = $_POST['primary']; 
    $secondary = $_POST['secondary']; 
    $not = explode(',', $_POST['not']) ; 
    //echo("primary: "+$primary+", secondary: "+$secondary+", not: "+$not); 
    echo($primary); 
?> 
+0

這就行!謝謝。 – Bob