ajax返回数据为undefined
在使用ajax异步请求后台返回数据后,使用console.log(data.message)打印返回数据,显示为undefined。苦恼了很久,终于在网上找到了答案。
先给大家看下异步代码:
/*清零*/
$(".off").on('click', function(){
//获取清零电表ID
var ammeterId = $(this).data("id");
$.ajax({
url: "/Intelligentwater/Distanceop/clearZero",
type: "post",
dateType: "json", //注意这里的dataType写成了dateType 所以返回的结果才为string, 无语了!!
async: true,
data: {ammeterId:ammeterId},
success: function (data){
console.log(typeof data); //结果是string
var msg = eval("(" + data + ")");
console.log(typeof msg); //结果是object
if(msg.status == 'S'){
$.alert('success', '操作成功');
}
}
});
})
这里使用里eval()函数对返回的数据进行了处理,使其转换为json对象,就可以了!!有没有很简单。eval("("+data+")")