在使用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+")")
本文详细解析了在使用Ajax进行异步请求时,遇到返回数据为undefined的问题,并提供了具体的解决方案,通过调整dataType参数并利用eval函数将返回字符串转换为JSON对象。

3290

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



