无法读取js中的php JSON编码数据
Cant read php JSON encoded data in js
我通过AJAX调用一个php脚本,该脚本返回一个json编码的对象。
$.post("php/getCamera.php", {
cam_id: identifier
}, function(data){
console.log(data);
//var camera = JSON.parse(data);
var camera = $.parseJSON(data);
console.log(camera.name);
console.log(data['name']);
console.log(camera['name']);
});
}
这是我的php脚本:
<?php
require 'Camera.php';
$camera = new Camera();
if(isset($_POST["cam_id"])) {
$cam_obj = $camera->getCamera($_POST['cam_id']);
$cam_obj_array = get_object_vars($cam_obj);
echo json_encode($cam_obj_array);
}
?>
这是我的相机类别:
class Camera
{
public $id;
public $name;
...
}
在js控制台中,我看到了编码的数据,但无法访问其元素:
{"id":"6","name":"camera 1"}
undefined
undefined
undefined
undefined
在帖子请求的末尾添加"json":
$.post("php/getCamera.php", {
cam_id: identifier
}, function(data){
console.log(data);
console.log(camera.name);
console.log(data['name']);
console.log(camera['name']);
}, 'json');
}
它是完整ajax语法dataType: "json"
的简写。
更好的是,使用getJSON
而不是post(但随后删除"json":)
试试这个:
console.log(data.name);
从日志中可以看出,数据已经是一个JSON对象,因此不需要进一步解析。
相关文章:
- 如何将JSON编码的PHP数组发送到同一页面上的数据表
- JSON编码一个HTML列表——所有子项都显示在所有父项上
- 无法读取js中的php JSON编码数据
- 隐藏HTML元素中的JSON编码和解码
- 获取 JSON 编码响应中的数组键
- 如何在 JS 上使用 PHP 变量 (fetch_array) ?(JSON 编码)
- 将 JSON 编码的 PHP 变量传递给 HighCharts
- 将json编码数组中的项添加到自动完成输入框中
- Golang JSON编码,用于使用JavaScript进行解析
- PHP数组JSON编码和该对象在ExtJs中解码
- 如何处理json编码的php-mysql数组
- PHP JSON编码输出与Javascript Ajax不兼容
- 如何在php JSON编码结果中包含谷歌分析
- JSon挑战:如何在JqxGrid中检索JSon编码的值
- JSON编码一个包含#和其他特殊字符的字符串
- 将64位整数转换为json编码对象中的字符串的最佳实践
- AJAX PHP JSON编码未返回所有结果
- 如何使用jquery将Json编码加载到变量中
- JSON编码数据未解析到PhP脚本中的JqPlot图表
- JSON 编码、解析和调用混淆