IE未正确处理Jquery ajax json数据(6~9):(
我将感谢任何帮助 我使用下面的代码创建带有“随机”产品的区域。 从php脚本接收的JSON数据如下所示:IE未正确处理Jquery ajax json数据(6~9):(,jquery,ajax,json,internet-explorer,Jquery,Ajax,Json,Internet Explorer,我将感谢任何帮助 我使用下面的代码创建带有“随机”产品的区域。 从php脚本接收的JSON数据如下所示: {"New":[{"product_id":"50",...},...], "Best":[{"product_id":"26",...},...], ...} “新”产品必须转到,依此类推 问题1:尽管它在所有优秀的浏览器上都能正常工作, IE(6~9)将所有div留空 问题2:我希望客户端缓存这个ajax JSON数据。 从FireBug中可以看出,这些请求没有被缓存。我必须求助于插件
{"New":[{"product_id":"50",...},...],
"Best":[{"product_id":"26",...},...],
...}
“新”产品必须转到
,依此类推
问题1:尽管它在所有优秀的浏览器上都能正常工作,
IE(6~9)将所有div留空
问题2:我希望客户端缓存这个ajax JSON数据。
从FireBug中可以看出,这些请求没有被缓存。我必须求助于插件吗
$.ajax({
url: "/index.php?AjaxRequest&action=5",
dataType: "json",
success: function(data){
$.each(data, function(key, value) {
var new_str ='<ul>';
$(value.sort(function() {return 0.5 - Math.random()}).slice(0,3)).each(function(){
new_str+='<li><a href="#" class="right_sidebar" onclick="location.href=\''+this.link+'\'">';
new_str+= '<img class="right_sidebar_thumb" src="'+this.image+'" alt="'+this.name+'"/></a></li>';
});
new_str+='</ul>';
$('#'+key).append(new_str);
});
}});
$.ajax({
url:“/index.php?AjaxRequest&action=5”,
数据类型:“json”,
成功:功能(数据){
$.each(数据、函数(键、值){
var new_str='';
$(value.sort(function(){return 0.5-Math.random()}).slice(0,3)).each(function()){
新的_str+='';
});
新的_str+='
';
$(“#”+键).append(新的#str);
});
}});
Jquery希望只有一个元素具有给定的id。请尝试切换到
<div class=’new-product’/>
至于捕获,请尝试使用错误方法
$.ajax({
error: function(){
}
});
检查JSON对象中的最后一项后面是否有逗号。我知道这可能会破坏IE,因为它无法处理存在空项的问题。我不知道这是否是您的问题,但当我使用JSON时,我的JSON结构经常出现问题。为了帮助查找问题,我使用了一个在线JSON验证器,我发现它非常有用好:终于找到了解决方案! 原来IE在缓存jquery请求。 添加
cache:false
解决了该问题。
停止IE!使用jQuery从JavaScript设置JavaScript onclick事件?真的吗?肯定没有重复的ID。关于onclick事件,只需要它工作,当它工作时,我会查看详细信息。谢谢!你为什么要在普通href的位置使用onclick?@Adam:是的,这很难看。但是因为他正在构建一个HTML字符串(希望将DOM修改的数量保持在较低的水平,因为它们非常慢)唯一更好的解决方案是使用委托(在这种情况下,他应该使用委托).是的,你是对的。href将完成这项工作。但这里的问题不同。无论如何,谢谢。我有几个具有唯一ID的div。从ID更改为类不会改变任何内容,也不会有错误……但无论如何,谢谢
$.ajax({
error: function(){
}
});