Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Yii2:如何使用Ajax获取数组对象?_Javascript_Php_Json_Ajax_Yii2 - Fatal编程技术网

Javascript Yii2:如何使用Ajax获取数组对象?

Javascript Yii2:如何使用Ajax获取数组对象?,javascript,php,json,ajax,yii2,Javascript,Php,Json,Ajax,Yii2,我使用Yii2框架已经快一年了,现在这是我第一次将Ajax与数组结合使用。对于此Ajax请求,我有一个解决方案: $.post("/laboratorio/analitos-grupos/analitos-grupos", json) .done(function(data) { console.log("Data Loaded: " + data); console.log("First object: " + data[0]);

我使用Yii2框架已经快一年了,现在这是我第一次将Ajax与数组结合使用。对于此Ajax请求,我有一个解决方案:

$.post("/laboratorio/analitos-grupos/analitos-grupos", json)
    .done(function(data) {
        console.log("Data Loaded: " + data);
        console.log("First object: " + data[0]);       
    });
但控制台显示:

Data Loaded: [{"id":6,"color":"Blue"},{"id":4,"color":"Brown"},{"id":12,"color":"Red"}]
First object: [
我认为这应该表明:

Data Loaded: [{"id":6,"color":"Blue"},{"id":4,"color":"Brown"},{"id":12,"color":"Red"}]
First object: {"id":6,"color":"Blue"}
如何获取第一个对象? jQuery是在Yii2中使用Ajax的最佳方式吗?
我在Google上找不到完整的示例。

您需要将传入的JSON
字符串
解析为JavaScript对象

$.post("/laboratorio/analitos-grupos/analitos-grupos", json)
    .done(function(data) {
        console.log("Data Loaded: ", JSON.parse(data));
        console.log("First object: " + JSON.parse(data)[0]);       
    });

您需要将传入的JSON
字符串
解析为JavaScript对象

$.post("/laboratorio/analitos-grupos/analitos-grupos", json)
    .done(function(data) {
        console.log("Data Loaded: ", JSON.parse(data));
        console.log("First object: " + JSON.parse(data)[0]);       
    });

您将获得一个JSON字符串,而不是一个对象数组。您可以通过在中的第4个参数中指定
json
来指定jQuery转换它:

或者,使用回调函数作为成功函数:

$.post("/laboratorio/analitos-grupos/analitos-grupos", json, function(data) {
    console.log("Data Loaded: ", data);
    console.log("First object: ", data[0]);       
}), "json");

您将获得一个JSON字符串,而不是一个对象数组。您可以通过在中的第4个参数中指定
json
来指定jQuery转换它:

或者,使用回调函数作为成功函数:

$.post("/laboratorio/analitos-grupos/analitos-grupos", json, function(data) {
    console.log("Data Loaded: ", data);
    console.log("First object: ", data[0]);       
}), "json");

因为回调是可选的,所以不需要null。因为回调是可选的,所以不需要null。