简体   繁体   English

使用Ajax将php数组传递给Javascript

[英]Passing php Arrays to Javascript with ajax

It displays my array as a list not as a javascript array, how do i fix this? 它将我的数组显示为列表而不是JavaScript数组,我该如何解决? The console log shows u27509, u55555 and the JSON.parse that another answer had does not work. 控制台日志显示u27509,u55555和另一个答案具有的JSON.parse不起作用。

Here is the javascript 这是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"]);
    }
        });

Here is the PHP 这是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);

?> ?>

If you want to return a PHP array to be used as a JSON object in JavaScript, use 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
?>

Then in JavaScript: 然后在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
  }
});

Update: echo also works. 更新: echo也有效。

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

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