在前端开发中,经常使用ajax来获取后台接口返回的数据,总结了ajax回调的几个常见问题,供大家参考。未定义contentType,可能导致后台数据乱码。可以在ajax请求contentType中加入如下代码:'application/json;charset=UTF-8',约定传给后台和后台返回的数据类型。一般定义json类型。JSON.stringify():将一个JavaScript值(对象或数组)转换为JSON字符串JSON.parse():将一个JSON字符串转换为对象这两个常用的json转换API,在成功或错误时调用返回,取不到value,即使改了async:false也取不到。请参见以下示例:functioncheckUserTask(taskid){$.ajax({method:'get',url:URL.checkUserTask,async:false,data:{'id':taskid},success:(response)=>{console.dir(response)if(response.code==200){returntrue;}else{returnfalse;}}});}这种写法无论成功还是失败,在调用checkUserTask方法时都会返回undefined,无法获取true或falseflag,所以一般的写法修改如下:functioncheckUserTask(taskid){varflag=false;$.ajax({method:'get',url:URL.checkUserTask,async:false,data:{'id':taskid},success:(response)=>{if(response.code==200){flag=真;}else{flag=false;}}});返回标志;}回调后return获取返回值
