我是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,我可以看到对“状态报告”的调用返回了JSON字符串
{"statusBean":{"percentComplete":50.0,"statusDescription":"Default Description"}}
但是在
$.parseJSON
之后,Firebug告诉我变量statusBean
为空。我究竟做错了什么?
最佳答案
传递给data
回调的getJSON
值已经是一个JS对象。将对象传递给对象时,$.parseJSON
将返回null
,因为它需要一个字符串。由于$.parseJSON
首先采用JSON,因此可以轻松删除对getJSON
的调用。
关于jquery - 解析JSON字符串返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8575479/