今天在做ajax的时候突然发现一个问题,以前在用Jquery1.3的时候都正常的方法结果现在都不行。
firebug中发现我要的数据已经返回,而且数据显示正常,但是前台取值一直都提示undefined。
找了好久资料才找到原因。
Jquery1.4中对JSON数据格式进行了严格限制,原先在Jquery1.3中能用的格式现在都不能使用
$.ajax({
type:'GET',
url:'index.php',
dataType:"json", //这里一定要添加数据类型,不然后面的msg.id和msg.name为显示undefind
data:{'id':2,'name':'JS'},
success:function(msg){
document.write(msg.id+'-'+msg.name);
}
});
下面是index.php的代码
<?php
$id=$_GET['id'];
$name=$_GET['name'];
$arr=['id'=>$id,'name'=>$name];
echo json_encode($arr);
?>
博客讲述了在升级Jquery版本从1.3到1.4后,遇到的Ajax处理JSON数据的问题。由于Jquery1.4对JSON格式的严格限制,导致从前能正常工作的代码出现错误。博主通过firebug发现数据已返回,但在前台获取值时提示undefined。解决方案是确保返回的JSON数据格式符合新的规范。示例代码展示了如何在Jquery1.4中正确处理JSON数据。
867

被折叠的 条评论
为什么被折叠?



