使用$.ajax,url的页面访问正常,数据库也添加了数据,也返回json了,但是ajax状态一直都是error,无法success。
function add_community_group(){
var url = "/community/1/add-group";
//alert(url);
$.ajax({
url:url,
type:'post',
data:{
name:$('#new_community_group_text').val()
},
dataType:'json',
success:function(data){
if(data.status == true){
$('#add_community_group_msg').html(data.msg);
}
else{
$('#add_community_group_msg').html("添加新用户组失败");
}
},
error:function(){
alert('error');
$('#add_community_group_msg').html("Error");
}
});
}
经过查资料,原来如果dataType是json,jquery1.4版本以后对json格式要求非常严格了,要满足json.org网站定义的格式才能执行success回调,否则都会出错,无法解析返回的json数据。
JSON格式总结下,详细的去json.org 查看。
1)键名称:用双引号 括起
2)字符串:用使用双引号 括起
3)数字,布尔类型不需要 使用双引号 括起
正确的是:
{"status":true,"msg":"添加社区用户组成功"}
json格式错误:
{'status':true,'msg':'添加社区用户组成功'}
{status:true,msg:'添加社区用户组成功'}