Javascript 访问JSON解析对象
下面是我的JS代码: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
$(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几乎想哭了。。。我花了一整天在这上面。你不到一分钟就回答了。谢谢你,我比以前更了解你!非常感谢你,杰克