如何将jquery数组发送到php页面

时间:2013-12-17 04:42:42

标签: php jquery codeigniter

如何将jquery数组发送到php页面。愚蠢地问这个但是我是jquery和php页面的新手并且在另一端收到它。

function SendValuesToPage()
{
     var leftData = JSON.Stringify(addedLeftValues);
     var rightData = JSON.Stringify(addedRightValues);
     // ajax code
 }

我试过这样的事情

function SendValuesToPage()
{
     var leftData = JSON.Stringify(addedLeftValues);
     var rightData = JSON.Stringify(addedRightValues); 
     $.ajax({
         url: "test/collect.php",
         type: "GET",
     data: {
                'leftData[]': leftData,
                'rigthData[]': rigthData 
           }
     });
}

我正在使用php codeigniter(MVC架构)

5 个答案:

答案 0 :(得分:1)

function SendValuesToPage() {
  var leftData = JSON.stringify(addedLeftValues);
  var rightData = JSON.stringify(addedRightValues); 
  $.ajax({
    url: "test/collect.php",
    type: "POST",
    data: {
      'leftData': leftData,
      'rigthData': rigthData,
      'func':'myFunc'
    }
  });
}

在你的collect.php中

$arrleftData = json_decode($_POST['leftData']);
$arrrigthData = json_decode($_POST['rigthData']);

更新

if(isset($_POST['func']) && !empty($_POST['func'])) {
    $action = $_POST['func'];
    switch($action) {
        case 'myFunc' : 
                         $arrArgs = array();
                         $arrArgs['leftData'] = json_decode($_POST['leftData']);
                         $arrArgs['rigthData'] = json_decode($_POST['rigthData']);
                         myFunc($arrArgs);
                         break;
        case 'blah' : blah();break;
        // ...etc...
    }
}

function myFunc($arrArgs){
   //Do something
}

答案 1 :(得分:0)

希望这会对你有所帮助

data: {
'leftData': leftData,
'rigthData': rigthData 
}

你可以在php页面上将这个变量('leftData','rigthData')用作php变量

答案 2 :(得分:0)

不要将javascript对象Stringify变为字符串,或者需要在php端解码它们。

function SendValuesToPage(addedLeftValues, addedRightValues)
{
    $.ajax({
        url: "test/collect.php",
        type: "GET",
        data: {
            'leftData': addedLeftValues,
            'rigthData': addedRightValues 
        }
    });
}

然后看看你在php文件中得到了什么:var_dump($_GET);

答案 3 :(得分:0)

尝试在SendValuesToPage()中添加数据类型:json

 function SendValuesToPage()
 {
    var leftData = JSON.Stringify(addedLeftValues);
    var rightData = JSON.Stringify(addedRightValues); 
    $.ajax({
         url: "test/collect.php",
         type: "GET",
         dataType: "json",
    data: {
         'leftData[]': leftData,
         'rigthData[]': rigthData 
          }
    });
 }

答案 4 :(得分:0)

addedLeftValues和addedRightValues是字符串,你必须将它解析为json对象。

$.ajax({
    url: "test/collect.php",
    type: "GET",
    data: {
      'leftData': JSON.parse(leftData),
      'rigthData': JSON.parse(rigthData) 
    }
});

和php代码

  $leftData = $_GET['leftData'];

$ leftData是一个数组。