ajax请求返回值带\r\n的Bug

今天改一个系统中前面的哥们写的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");

 唉,我们有些同志写代码太不严谨了。

猜你喜欢

转载自yuwenlin.iteye.com/blog/2205330