利用ajax从jsp中返回的字符串时出现回车符号解决办法

来源:互联网 发布:淘宝客推广技术 编辑:程序博客网 时间:2024/06/13 11:19

    问题背景:通过ajax来实现检测用户名,若用户名已存在,则提示已存在并且清空文本框;若不存在则提示可用。在checkname.jsp中写的时候,通过out.write();返回提示,在index.jsp中通过if语句判断返回的字符串情况,发现if总是执行了false的部分。于是将out.write();里的"fail"改为数字1,检测,失败。if中判断的是 "  =="1" ",改变方式,判断" ==1 ',结果if执行了true的部分。并且,之前返回的alert窗口中,提示语明显有几个回车的空间。但是新建一个Servlet文件,将checkname.jsp中的内容拷贝进去,能够成功实现目的,并不会出现错误。

    思考:根据情况可以判断,语句没有问题,应该和JSP的文件格式特性有关,所以出现了一些问题。

    解决办法:在index.jsp的获得ajax返回值的函数中添加console.log();   通过浏览器控制台检查发现,返回的字符串中的开头,有好几个回车符。

     所以可以这样来判断:

          ①通过正则表达式去掉空格回车

          ②进行字符串判断的时候,用indexOf来判断是否含有目标字符串

     因为JSP中的换行都会被打印,所以我们可以在输出之前,清空一下:

          ③在out.write();前,先out.clear();,则也能解决问题。



词穷诗尽方知才疏学浅,勤学好问才可修成正道。

如有问题,请慷慨指教!

1 0
原创粉丝点击