使用jquery的ajax需要注意的地方dataType的设置
作者:
没有设置dataType:'json',就出现无法解析返回的data数据,会把data当作字符串处理,而不是json对象,记得以前是不用设dataType的,很奇怪,不知道是不是跟jquery版本有关系
昨天在做ajax时遇到问题,
<SPAN style="WHITE-SPACE: pre">
</SPAN>$.ajax({
url:'<{$weburl}>/main.php?action=getDepart&cid='+cid,
type:'post',
dataType:'json',
success:function(data){
//data=eval('('+data+')');
if(data.s==1)
{
$('#depart').html('');
$('#depart').html(data.departs);
}
else
{
alert('获取院系失败');
}
}
});
以前没有特别注意过这个问题,一开始没有设置dataType:'json',就出现无法解析返回的data数据,会把data当作字符串处理,而不是json对象,所有我使用了eval来转换,而且在服务端由于发回的数据包含了很多html标签,也无法正确读取,导致data报错,我记得以前是不用设dataType的,很奇怪,不知道是不是跟jquery版本有关系,看来以后还是明确设置一下dataType比较好。
复制代码 代码如下:
<SPAN style="WHITE-SPACE: pre">
</SPAN>$.ajax({
url:'<{$weburl}>/main.php?action=getDepart&cid='+cid,
type:'post',
dataType:'json',
success:function(data){
//data=eval('('+data+')');
if(data.s==1)
{
$('#depart').html('');
$('#depart').html(data.departs);
}
else
{
alert('获取院系失败');
}
}
});
以前没有特别注意过这个问题,一开始没有设置dataType:'json',就出现无法解析返回的data数据,会把data当作字符串处理,而不是json对象,所有我使用了eval来转换,而且在服务端由于发回的数据包含了很多html标签,也无法正确读取,导致data报错,我记得以前是不用设dataType的,很奇怪,不知道是不是跟jquery版本有关系,看来以后还是明确设置一下dataType比较好。