读书人

responseText回到的却是网页的HTML代码

发布时间: 2012-09-22 21:54:54 作者: rapoo

responseText返回的却是网页的HTML代码
PrintWriter来输出信息。但为什么得到的responseText却会是整个页面的HTML代码?会是什么原因?谢谢

这里的JS是用标签写出来的,动态的.

但是我把JS拷贝出来,放到另一个工程,单另写一个action,返回却是正常的.

[解决办法]
struts?
因为你返回了一个jsp,就是你指向的jsp
在用struts得时候,jsp除了必要的标签,其余的html什么的都不能要
而且不必要得空格回车都不能有
这样responseText才能取得正确的值。
你要想象,jsp叶面打出来什么样,responseText就出什么样
[解决办法]
[Quote=引用:]
struts?
因为你返回了一个jsp,就是你指向的jsp
在用struts得时候,jsp除了必要的标签,其余的html什么的都不能要
而且不必要得空格回车都不能有
这样responseText才能取得正确的值。
你要想象,jsp叶面打出来什么样,responseText就出什么样
[/Quot]

说的在理
[解决办法]
支持下
[解决办法]
responsetext不是返回的网页的html代码是什么?

responsebody是二进制的.
responsexml是xml的
responsetext就是html源码的
[解决办法]
问题说的不清楚,楼主可以跟帖补充下啊。
4楼说的对。你是不是 需要responsexml ???
[解决办法]
呵呵,看你想返回什么?可以是XML啊
[解决办法]

探讨
楼主的意思很明白,他用PrintWriter来输出一段信息,比如一个字符串,想用responseText得到这个字符串,然而却得到了整个jsp页面的代码。

问题出在:你在action中处理Ajax请求的方法中返回了一个jsp页面。

解决:1.在action的配置中取消 <result>返回页面配置。
2.在action中处理Ajax请求的方法中返回空,如:return null;
这是struts2下的解决。
若是struts1,同样不要让action返回到一个页面。

[解决办法]
8楼所说我赞同
[解决办法]
ajax的responseText返回的本来就是页面代码,至于楼主的问题还是没看明白
[解决办法]
.......
struts得工作流程
jsp提交->ActionServlet->在actionServlet里调用Action->返回jsp
Servlet原始的工作流程
jsp提交->Servlet
你再Servlet里面能够取到是因为你返回的是Servlet
所以调用Servlet能够取到
而struts里面,你再ActionServlet这一段调用Out毫无意义。因为struts返回的不是ActionServlet,而是jsp
注意,jsp也是一个Servlet,但不是ActionServlet
你可以看作ActionServlet进行了转发
所以你要取到值,只能在jsp里面打出来!!!!!!!
[解决办法]
探讨
responseText,对于它的返回值,我是知道.
但是在action中,out流.里面写入的字符串,responseText拿不到.responseText拿到的只是整个网页的HTML代码.
action返回的是null.流也刷新过,并且关闭了.

很奇怪的是,我使用servlet就可以得到 out 流里写入的字符串.

单建立一个测试工程,使用action,却是正常.

我想来了解的是,什么情况下可以会出现返回整个HTML代码.
jsp页面有自定义标签,有关系吗?
TagUtils.getInstanc…

读书人网 >Ajax

热点推荐