我对JSON处理很新,我自己也陷入了困境。我的页面包含以下脚本;
<script type="text/javascript">
$(document).ready(function() {
$('#progressBar').progressbar({value: 0.0});
process();
});
function process() {
getStatus();
setInterval(getStatus,1000);
}
function getStatus() {
$.getJSON('status-report', function(data) {
var statusBean = $.parseJSON(data);
$('#progressBar').progressbar('option','value',$.trim(statusBean.percentComplete));
$('#status').html(statusBean.statusDescription);
});
}
</script>
使用Firebug,我可以看到对'status-report'的调用正在返回一个JSON字符串
{"statusBean":{"percentComplete":50.0,"statusDescription":"Default Description"}}
但在$.parseJSON
之后,Firebug告诉我变量statusBean
为空。
我做错了什么?
答案 0 :(得分:3)
传递给data
回调的getJSON
的值已经是JS对象。当一个对象传递给它时,$.parseJSON
将返回null
,因为它需要一个字符串。这里可以简单地删除对$.parseJSON
的调用,因为getJSON
首先假设JSON。