这是我的测试结果。我运行我的应用程序,收到"Hello"
警报。但我没有得到"After parse JSON"
警报。
当我注释掉var rstList = $.parseJSON(data);
行时,“解析JSON后”警告提示正确。
我查了很多文档和参考资料,但无法找出我的$.parseJSON()
有什么问题。请指教,谢谢。
//Show restaurant listing
$('#restaurantList').on("pagebeforecreate", function() {
$.getJSON("http://mydomain/api/restaurant", function( data ) {
alert('Hello');
var rstList = $.parseJSON(data);
alert('After parse JSON');
});
});
答案 0 :(得分:5)
与名称所暗示的相反,$.getJSON
不会给你一些JSON,而是解析的结果。
成功回调传递返回的数据,通常是a 由JSON结构定义并解析的JavaScript对象或数组 使用$ .parseJSON()方法。
您已data
已解析,请勿对其进行解析。
BTW,正如Niet评论的那样,您应该查看控制台,以获取有关暂停脚本执行的错误的更多信息。请参阅Using the console。
答案 1 :(得分:1)
因为您正在尝试再次解析json对象。这导致错误。 $ .getJSON 将返回json对象。你不需要再解析它