ajax:dataType属性
测试 一:没有加dataType属性的情况
$.ajax({
type: "GET",
// dataType: "json",
url: "../friendster/info/" + rowId,
async: false,
success: function success(r) {
if(r.code===0) {
vm.hotStatus = r.entity.hot;
}else{
iview.Message.error(r.msg);
status=500;
}
}
});
返回结果:
如上图所示:我们可以看到返回的是json字符串
我下面用iview.Message.error(r.msg),后来iview js报错,大概意思就是没有内容,后来我来console上打印r.msg 发现结果是undefined
解决办法:
我们先来看看dataType属性到底是个什么东西,
1.dataType值如果为'json',jquery就会把后端返回的字符串尝试通过JSON.parse()尝试解析为js对象。2.dataType值如果为'text',结果弹出框直接显示后台返回的json字符串。
3.dataType值如果为'html',结果弹出框直接显示后台返回的json字符串。
当代码中加上dataType:“json” ,这个属性后,我们再次看到返回结果就是java对象了,不需要我们去手动的解析json字符串
如下图: