2013-09-21 25 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