我正在用json填写一个列表。然而,json(php文件)给了我X秒后的结果(未知时间)。如何在X秒后使用'到达'的json数据?
外部文件 - 获取JSON数据:
$(function(){
// can't modify this file
$.getJSON('json.php',
function(data) {
items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
});
});
内嵌代码 - 输出:
<script>
$(function(){
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('#result');
});
</script>
现在我什么也看不到在#result
因为这两个代码同时使被加载输出找不到'项目'。
如何修改内联代码以迫使它等到外部文件为我提供json数据?也许是观察员?
编辑:它看起来像我没有解释得很好。我很抱歉我的英语不好。我也是Js/Jquery新手。编辑2:如果我们没有延迟获取JSON数据一切正常,但它取决于通过串行通信连接的一些外部设备,有时需要2,3或5秒才能获得JSON。
它找不到'items',因为这个变量在另一个范围中定义。 – dfsq 2013-02-14 20:18:20
如果你不能修改第一个文件,你期望如何获得'items'?时机似乎无关紧要。 – 2013-02-14 20:18:23
感谢您的有用评论。不幸的是我(仍然)是一个新手。 – Shaz 2013-02-14 20:33:59