PS: 记录在开发过程中使用Ajax遇到的“奇怪”的问题,有助于自己日后查看,也希望有助于遇到同样问题的同胞。有时一些问题可能很简单很简单,但是开发当中遇到时却可能令你头疼不已。有同感的顶起
异常1: js中ajax返回空字符串长度不为0的问题
JS通过Ajax从Java后台获取字符串,Java中返回空字符串"",但是到JS中却成为了长度为2的非空字符串
原因分析:
Java代码中向response的PrintWriter对象输出内容时使用了println方法,因此虽然输出一个空字符串,实际上却还有一个换行,所以在JS中这个带有一个换行的字符串长度为2,如下:
- response.setContentType("text/html;charset=UTF-8");
- PrintWriter out = response.getWriter();
- out.println("");
- out.close();
解决方法:
改为使用print方法,如下:
- response.setContentType("text/html;charset=UTF-8");
- PrintWriter out = response.getWriter();
- out.print("");
- out.close();
异常2: js中ajax返回字符串alert时换行的问题
JS通过Ajax从Java后台获取字符串,字符串中带有换行“\r\n”,但是JS中alert出来时,没有成功换行却显示了“\r\n”字符串
原因分析:
Java后台返回给JS的字符串中含有“\r\n”时,由于经过转义,所以在JS中实际上成了“\\r\\n”,如果不经过处理,直接alert,那么就会显示出“\r\n”
解决方法:
在JS中将字符串中的“\\r\\n”替换为“\r\n”即可,如下:
- var message = result.replace("\\r", "\r").replace("\\n", "\n");
- alert(message );
异常3: JSP中通过Java表达式获得的字符串 (含有换行) 赋给JS使用时报错
示例代码如下:
- <%
- if (cont.getShowMessage() != null) {
- %>
- <script language="Javascript" defer="defer">
- alert("<%=cont.getShowMessage() %>");
- </script>
- <%
- }
- %>
原因分析:
如果Bean的getShowMessage()的返回值是一个简单的字符串时没有问题,但是如果字符串中含有“\n”或者“\r\n”的换行符时打开JSP页面就会报错。貌似是因为.jsp编译成.java文件时这个地方有非法的换行所造成的。
解决方式:
在Java代码中,字符串的换行符号使用“\\n”代替“\n”,使用“\\r\\n”代替“\r\n”
相关推荐
Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发...
Ajax经典案例开发大全Ajax经典案例开发大全Ajax经典案例开发大全Ajax经典案例开发大全
web前端开发AJAX学习笔记
ajax 的 程序开发教程 里面有实例 学起来还是比较容易的
Ajax 经典案例开发大全
ajax开发手册ajax开发手册ajax开发手册ajax开发手册ajax开发手册ajax开发手册ajax开发手册ajax开发手册ajax开发手册
1.在实验四基础上使用AJAX技术实现异步登录功能。(40分) Ajax异步的特点为:多个事件并行发生,事件互不影响,请求之后,不刷新整张页面,页面不动,只是刷新页面的局部。异步数据获取技术 XMLHttpRequest对象方法...
Ajax定义,为什么使用Ajax,谁在使用Ajax,用Ajax改进你的设计,Ajax的缺陷,Ajax开发,Ajax应用到的技术,Ajax开发框架...
AJAX开发攻略AJAX开发攻略AJAX开发攻略AJAX开发攻略
AJAX开发简略 AJAX开发简略 AJAX开发简略
Ajax技术文档 AJAX开发简略.pdf
AJAX开发简略,简略介绍AJAX开发简略
ajax 开发 必备文件 jquery ajax开发 一般处理程序ajax开发 应用
CSS在Ajax开发中的作用
Ajax经典案例开发大全pdf + 随书源码 ajax 案例 大全 源码
本书共分为15章,从初识ASP.NET AJAX开始,首先介绍了ASP.NET AJAX基础知识和结构,然后介绍了ASP.NET AJAX Control Toolkit中的全部控件,如AutoComplete、PasswordStrength、CollapsiblePanel、Tabs、...