最近做一个小网站用到XHR,服务端使用out对象的println()方法向用户返回查询到的数据,在客户端需要先用JS检查一下返回的数据是否为空,我是用一个"sucess"字符串来标识不为空的状态。JS代码如下:
fucntion replyIsEmpty(responseText){
if(responseText=="sucess")
//做进一步操作.....
else
alert("对不起,没有你查询的结果");
}
结果每次都要跳到else去执行,用alert()打印responseText发现明明是"sucess"却还是要跳到else里去。当时还以为XHR的responseText属性值不是字符串类型,所以结果总会返回false,后面尝试toString()仍然不起作用。最后才发现是out.println()惹得祸,它让responseText里多了一个看不见的换行符,所以老是跳else。解决方法很简单:把println改为print就可以了。
出现这个问题的原因还是自己太不细心了,改正,改正~