使用ajax将多维数组数据发送到php脚本

时间:2014-06-10 22:22:04

标签: javascript php jquery ajax arrays

我有两个简单的脚本。一个客户端jquery,具有multidim数组&服务器端的PHP脚本。在php $数据中保持空白。

jquery的

console.log("IN JQUERY");
console.log(inps);

$.ajax({
  type:           'post',
  cache:          false,
  url:            './gen.php',
  data:           inps,
  success: function(response){
    console.log("RESPONSE");
    console.log(response);
  }
});

gen.php

<?php
$data = file_get_contents('php://input');
$data = json_decode($data, true);
print_r($data);
?>

firefox控制台输出

>POST ..././gen.php [HTTP/1.1 200 OK 1ms]
>"IN JQUERY" 
>{isbranch: "1", ismanager: "0", isdept: "1"} 
>"RESPONSE" 
>""

有没有办法使用ajax将多维数组发送到php而不拆分数组?

2 个答案:

答案 0 :(得分:2)

您应该在发送数据之前使用JSON.stringify对数据进行编码,最好还是为其添加正确的contentType:

$.ajax({
  type:           'post',
  cache:          false,
  url:            '/gen.php',
  data:           JSON.stringify(inps),
  contentType:    'application/json',
  success: function(response){
    console.log("RESPONSE");
    console.log(response);
  }
});

答案 1 :(得分:0)

键值对应已存在于$_POST

$isbranch = $_POST['isbranch'];
$ismanager = $_POST['ismanager'];
$isdept = $_POST['isdept'];