从JavaScript / jQuery向php发送数组

时间:2011-03-10 04:39:14

标签: php javascript jquery arrays json

  

可能重复:
  send arrays of data from php to javascript

我知道有很多这样的问题,但我发现其中没有一个是那么清楚。

我有一个像这样的Ajax请求:

$.ajax({
    type: "POST",
    url: "parse_array.php",
    data: "array=" + array,
    dataType: "json",
    success: function(data) {
        alert(data.reply);
    }
});

我如何将一个JavaScript数组发送到一个php文件以及将它解析成php数组的php是什么样的?

我正在使用JSON。

3 个答案:

答案 0 :(得分:9)

第1步

$.ajax({
    type: "POST",
    url: "parse_array.php",
    data:{ array : JSON.stringify(array) },
    dataType: "json",
    success: function(data) {
        alert(data.reply);
    }
});

第2步

你的php文件看起来像这样:

<?php 



  $array = json_decode($_POST['array']);
    print_r($array); //for debugging purposes only

     $response = array();
     if(isset($array[$blah])) 
        $response['reply']="Success";
    else 
        $response['reply']="Failure";

   echo json_encode($response);

第3步

成功功能

success: function(data) {
        console.log(data.reply);
        alert(data.reply);
    }

答案 1 :(得分:1)

你可以传递一个javascript对象。

JS:

var array = [1,2,3];
$.ajax({
    type: "POST",
    url: "parse_array.php",
    data: {"myarray": array, 'anotherarray': array2},
    dataType: "json",
    success: function(data) {
        alert(data.reply); // displays '1' with PHP from below
    }
});

在php端你需要打印JSON代码:

PHP:

$array = $_POST['myarray'];
print '{"reply": 1}';

答案 2 :(得分:0)

HI,

parse_array.php

上使用json_encode()

并使用json_decode()

检索数据