我的第一次尝试,测试功能似乎不起作用:
$.getJSON('questions.json', function(data) {alert(data);})
我正在尝试提醒JSON文件的所有内容,这些内容非常简短。
我究竟做错了什么?为什么我得到[object Object]
答案 0 :(得分:3)
JSON是一种将对象编码为字符串的方式,以便它可以轻松地在网络中传递。当jQuery收到一个包含JSON数据的字符串时,它会反序列化它 - 它将它变回Javascript对象。此对象将传递给您的成功处理程序 - 您将其称为data
。
当你尝试alert
一个Javascript对象时,它会给你[object Object]
,而不是一个可读的表单。
您应该使用浏览器提供的Javascript控制台,使用console.log
方法调试此类数据。
答案 1 :(得分:2)
数据的值是一个JSON对象,所以数据本身,当通过alert()传递时;将转储为[object Object]。
尝试console.log(数据);而不是alert();
对于我的调试和测试,我使用的是firebug,它有一个很好的小控制台选项卡。
答案 2 :(得分:1)
您的数据是json对象,因此您将[object Object]视为警报。