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


How to send jquery array to php page

我如何将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架构)

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'
    }
  });
}

在您的收藏中。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
}

希望这将帮助您

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

您可以在php页面上将此变量('leftData','rigthData')用作php变量

不要将javascript对象Stringify转换为字符串,否则需要在php端对其进行解码。

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

然后查看您在php文件中得到的内容:var_dump($_GET);

尝试在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 
          }
    });
 }

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

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

和php代码

  $leftData = $_GET['leftData'];

$leftData是一个数组。