Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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 访问JSON解析对象_Javascript_Json - Fatal编程技术网

Javascript 访问JSON解析对象

Javascript 访问JSON解析对象,javascript,json,Javascript,Json,下面是我的JS代码: $(document).ready(function() { $.ajax({ url: "/", type:"POST", beforeSend: function (xhr) { var token = $('meta[name="csrf_token"]').attr('content'); if (token) { retur

下面是我的JS代码:

$(document).ready(function() {
    $.ajax({
        url: "/",
        type:"POST",
        beforeSend: function (xhr) {
            var token = $('meta[name="csrf_token"]').attr('content');

            if (token) {
                  return xhr.setRequestHeader('X-CSRF-TOKEN', token);
            }
        },
        success:function(data){
            console.log(data);
        },error:function(){ 
            console.log("error!!!!");
        }
    }); 

});
这是我在控制台中得到的:

Object { all_creations: "[{"id":"2","user_id":"2","title":"D…" }
但现在我想做一些类似的事情:

console.log(data.user_id)
但这并没有回报

同样适用于:

console.log(data['all_creations'].user_id)
console.log(data['all_creations'][0].user_id)
console.log(data[0].user_id)

我使用的是laravel5 btw,这个JSON对象由toJson()函数返回。(如果有帮助的话)


我知道这个问题已经被回答了数百万次,但由于某些原因,我无法让它在我的项目中工作。。。我不是Javascript或与之相关的任何东西(如JSON)的专家。Ajax、JSON对我来说仍然是一个痛苦的源泉。我希望有一天能得到它。。。说真的^^

我觉得您最好在Chrome中测试它,并使用F12开发者工具查看服务器返回的内容。可以在“网络”选项卡中检查请求,或者尝试找出在控制台中检索用户id的正确方法


如果您感到困惑,请查看一些F12 Chrome开发者工具教程。

如果有任何问题,请参阅以下粗略指南,了解如何访问数据:

Object { all_creations: "[{"id":"2","user_id":"2","title":"D…" }
^^^^^^^^                                                       ^
标记区域表示
数据
是标准对象,因此已对其进行分析

Object { all_creations: "[{"id":"2","user_id":"2","title":"D…" }
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
内部部分表示
data.all_creates
是一个包含字符串值的属性

Object { all_creations: "[{"id":"2","user_id":"2","title":"D…" }
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
字符串值本身似乎包含JSON编码的值,因此您需要首先解析该值:

var creations = JSON.parse(data.all_creations);
然后,从字符串值可以看到它包含一个数组,第一个元素是一个对象

alert(creations[0].user_id) // 2

JSON.parse(data.all_creates)[0].user_id
-不过,服务器似乎没有返回您期望的结果,所以您可能应该先查看一下。\o/I几乎想哭了。。。我花了一整天在这上面。你不到一分钟就回答了。谢谢你,我比以前更了解你!非常感谢你,杰克