今天改一个系统中前面的哥们写的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");
唉,我们有些同志写代码太不严谨了。