今天改一个系统中前面的哥们写的bug,先来说说这个bug是什么问题:
function checkDeviceNums(){ var res=false; $.ajax({ url:'<%=request.getContextPath() %>/mobile/device/ajaxDmmdevice.do?method=checkDeviceNums', type:'post', dataType:'text', async:false, success:function(data){ alert(data); if(data=="2"){ res = true; } } }); return res; }
此处alert(data);的结果显示为2,但if(data=="2")条件就是不执行,返回的老是false
用浏览器一调试,发现data的结果为"2\r\n",难怪不进if了。
再看服务端是怎么写的:
response.getWriter().println("2");
我晕了,居然用println,为什么不用write呢,用write不就这问题吗
response.getWriter().write("2");
唉,我们有些同志写代码太不严谨了。