js在函数中发Ajax请求返回undefined问题
console.log("个数="+getTypeLogNumber(0.5));
<%--帖子模块的ajax:能获取指定类型的log的条数--%> function getTypeLogNumber(type){ var number=0; <%--type:getAll,needAdopt,needAgainAdopt--%> $.ajax({ url:"/report/adminGetTypeNumber?logType="+type, dataType:"json", type:"get", async:false, success:function (data,states,xhr){ console.log("前端获取到了对应类型的帖子的条数了..."); number=data.typeLogNumber; }, error:function (xhr,status,error){ console.log("出错了.."); } }); return number; }
问题:在getTypeLogNumber函数中发起了一个ajax的请求,但还没等得到结果,函数就已径返回了,造成值得不到的问题。
原因:因为我们没有设置同步
解决方法:在ajax中添加 async:false,的一个属性。