jsp+ajax+servlet实现局部刷新验证码的问题

在网上搜索了很多类似这样的例子。就是没一个满意的答案。我的servlet的代码是这样的:doGet方法里面response.setContentType("image/j... 在网上搜索了很多类似这样的例子。就是没一个满意的答案。
我的servlet的代码是这样的:
doGet方法里面
response.setContentType("image/jpg;charset=UTF-8");
//画一个随机生成的字符串
Image image=GUIUtil.drawString();
//以输出流的形式在目标页面中输出
ImageIO.write((RenderedImage) image, "JPEG", response.getOutputStream());

jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>ajax</title>
<script type="text/javascript">

var req;
function changImg() {
  if (window.XMLHttpRequest) {
  req = new XMLHttpRequest();
  }else if (window.ActiveXObject) {
  req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if(req){
  req.open("GET","CheckServlet", true);
  req.onreadystatechange = complete;
  req.send(null);
  }
}
function complete(){
  if (req.readyState == 4) {
if(req.status==200){
可能是这里获取的时候出了问题,或许是获取的方法出了问题,请各位指点一下
document.getElementById('imgObj').innerHTML=req.responseText;
}
  }
}

</script>
<head>
<body>
页面加载的时候验证码图片可以显示出来,点“看不清,换一张”就不行了,怎么回事呢。
<img id="imgObj" alt="" src="CheckServlet" />
<a href="javascript:changImg()">看不清,换一张</a>
</body>
</html>

请回答的亲不要只和我解释为什么错了。希望能帮忙改进实现无刷新改变验证码。
谢谢。
展开
 我来答
百度网友02828fb
2011-10-23 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:150万
展开全部
你用的是responseText肯下不行啊,你返回的是一个图片流。而不是一段文本,我觉得你不需要用ajax,你只要重新改变一下img对象的src属性就行了吧,还是指向这个servlet,相当于刷新一下这个图片。改变图片的src属性时,好像不刷新整个页面。
追问
嗯,后来用js改变了src就ok了,不过得后接一个参数。看来是还没搞清楚Ajax的运用领域了。谢谢哈。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式