[英]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.