我有以下HTML和后续的jQuery,它们在检索到JSON请求之后追加了相关的HTML元素。
此实现可在Google Chrome + Android浏览器+ Safari中使用,但不会在Firefox或Internet Explorer 9中填充数据。
**在Chrome,Android浏览器,Firefox 4 ...中可以使用...在Firefox 3.x和IE中不能使用。
静态HTML:
<header class=line>
<div class="unit size3of4">
<h2 class="fullname"></h2>
<h4 class="nickname"></h4>
</div>
</header>
jQuery代码:
<script>
function load_user_info() {
var content_url = 'rest.api.url.com';
$.getJSON(content_url, {id:'11xx1122xx11'}, function(data){
console.log(data);
$.each(data, function(key, value) {
if (key == "fullname") {$('.fullname').append(value);}
else if (key == "nickname") {$('.nickname').append(value);}
});
});
}
load_user_info();
</script>
关于浏览器之间的行为有些困惑。我可以保证JSON请求返回两个变量:全名和昵称,并已确认
在使用FireBug插件的Firefox中,我看到了
console.log(data)
的结果。在Chrome浏览器中,在JSON请求之后,我看到了
console.log(data)
的结果以及HTML中全名和昵称的成功显示。使用jQuery 1.6.1如果有帮助...
JSON输出:
{"fullname":"johnny fartburger", "nickname":"jf"}
最佳答案
你的所作所为让我有些困惑。我认为以下代码:
$.each(data, function (key, value) {
if (key == "fullname") {
$('.fullname').append(value);
} else if (key == "nickname") {
$('.nickname').append(value);
}
});
可以更容易地表示为:
$('.fullname').append(data.fullname);
$('.nickname').append(data.nickname);
我不知道这是否可以解决您的问题,但肯定会有所改善。
关于javascript - jQuery追加在IE/Firefox中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6123053/