JSP中使用XMLHttpRequest动态无刷新及其中文乱码处理

本文介绍了如何在JSP页面中利用XMLHttpRequest进行动态无刷新请求,通过JavaScript与后台Servlet交互。在处理过程中,特别讨论了中文乱码问题的解决方法,包括设置contentType为'html/text',设置字符编码为'UTF-8'以及避免缓存的Header设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近用到了XMLHttpRequest  动态无刷新技术

不刷新当前页面发送请求,并得到返回结果

主要是jsp页面内的js与后台的servlet交互,返回值为文本~~~

 

1.在页面的<script type="text/JavaScript" >内加入

//无刷新请求的xmlhttp请求
  var http_request=false;
function createRequest(url)
{
    http_request = false;
 
   if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
         http_request.overrideMimeType('text/html');
      }
   } else if (window.ActiveXObject) { // IE
      try {
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e) {}
      }
   }
   if (!http_request) {
      alert('不能创建XMLHTTP实例!');
      return false;
   }
   http_request.onreadystatechange=alertContents;
   http_request.open("POST",url,true);
   http_request.send(null);
}

 

2.调用--在js调用请求【CONTROL为servlet配置的url-mapping,传参跟一般url传参一样】

createRequest('CONTROL'+'?cmd=listen');

 

3.在servlet中处理【中文乱码问题】

  PrintWriter out;
  response.setContentType("html/text");//此5行必备,用于输出中文,否则乱码
  response.setCharacterEncoding("UTF-8");
  response.setHeader("Cache-Control","no-cache");
  out=response.getWriter();

 

  out.println("对不起,系统忙,请稍后再试!"); //为返回的响应结果,在页面直接以alert()显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值