繁体   English   中英

使用Ajax将php数组传递给Javascript

[英]Passing php Arrays to Javascript with ajax

它将我的数组显示为列表而不是JavaScript数组,我该如何解决? 控制台日志显示u27509,u55555和另一个答案具有的JSON.parse不起作用。

这是JavaScript

var data = {
            "action": "test"
        };
        data = $.param(data);

    $.ajax({
            type: "POST",
            dataType: "json",
            url: "../core/GetInfo.php", 
        data: data,
        success: function(data) {
        var y = JSON.parse(data);
        console.log(y[0]);
        console.log(data["Name"]);
    }
        });

这是PHP

<?php
$action = $_POST["action"];
$return = $_POST;
$EID = array(
    "u27509",
    "u55555"
);
$data = "test";

$return["EID"] = $EID;
$return["Name"] = $data;
$return["Emergency_Phone"] = $data;
$return["Cell_Phone"] = $data;
$return["Emergency_Phone2"] = $data;
$return["Email"] = $data;
$return["Hire_Date"] = $data;
$return["Grad_Date"] = $data;
$return["Major_1"] = $data;
$return["Major_2"] = $data;
$return["School"] = $data;
$return["Active"] = $data;
$return["Admin_Status"] = $data;
$return["json"] = json_encode($return);
echo json_encode($return);

?>

如果要返回一个PHP数组以用作JavaScript中的JSON对象,请使用return

<?php
$action = $_POST["action"];
$return = $_POST;
$EID = array(
    "u27509",
    "u55555"
);
$data = "test";

$return["EID"] = $EID;
$return["Name"] = $data;
$return["Emergency_Phone"] = $data;
$return["Cell_Phone"] = $data;
$return["Emergency_Phone2"] = $data;
$return["Email"] = $data;
$return["Hire_Date"] = $data;
$return["Grad_Date"] = $data;
$return["Major_1"] = $data;
$return["Major_2"] = $data;
$return["School"] = $data;
$return["Active"] = $data;
$return["Admin_Status"] = $data;
$return["json"] = json_encode($return);
return json_encode($return); // use return
?>

然后在JavaScript中:

var data = { "action": "test" };
data = $.param(data);

$.ajax({
  type: "POST",
  dataType: "json",
  url: "../core/GetInfo.php", 
  data: data,
  success: function(data) {
    console.log(data); // data will be a JSON object
    console.log(data.EID);
    console.log(data.Email);
    // etc
  }
});

更新: echo也有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM