`

jquery的Ajax框架乱码解决

    博客分类:
  • Ajax
阅读更多

1.下面代码为服务器端获取请求信息Servlet,真正用的时候可能就是struts等

package com.adu;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLDecoder;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

 
public class AjaxServer extends HttpServlet {

	private static final long serialVersionUID = -1391282338046351379L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException { 
		
		response.setContentType("text/html");
		response.setCharacterEncoding("UTF-8");   
 	 
		PrintWriter out = response.getWriter();
		
		//获取页面jquery的url提交的数据,进行处理
//		String userName = request.getParameter("name");
//		String passWord = request.getParameter("password");
		
		String name = request.getParameter("name");
 		String password = request.getParameter("password");
		
		//转换字符集编码,避免中文乱码问题
		String userName = URLDecoder.decode(name,"UTF-8");
		String passWord = URLDecoder.decode(password,"UTF-8");
			
		
		//进行逻辑判断,看输入是否合法
		if(userName.length() != 0 && userName != null && passWord.length() != 0 && passWord != null){
			
			if(userName.equals("mawanli") && passWord.equals("123")){
				
				//out.print("Welcome* "+userName+" *visit my web!");
				out.print("欢迎* "+userName+" *访问!");
				out.flush();
				out.close();
				
			}else{
				
				out.print("sorry please login again!");
//				out.print("请输入正确的用户名和密码!");
			}	
		}
		else{
			
			out.print("please input right name and password!");
			//out.print("请重新登录!");
		}
		 
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		resp.setContentType("text/html");
		this.doGet(req, resp);
	}

}
[/size]
2.以下是页面测试的代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>测试ajax验证登录</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  <script type="text/javascript" src="js/jquery-1.6.min.js"></script></head>
  <script type="text/javascript">
  
  //添加时间戳,以防每次测试为不同的url,解决浏览器缓存问题
function convertUrl(url) {   
	  
	  var timestamp = (new Date()).valueOf();   
      if (url.indexOf("?") >= 0) {   
       url = url + "&t=" + timestamp;   
      } else {   
         url = url + "?t=" + timestamp;   
     }   
       return url;  
     
  }
  //用encodeURI可以解决页面传值时的中文乱码问题
  function validate(){
	  var name = encodeURI(encodeURI($("#userName").val()));
      var password = encodeURI(encodeURI($("#passWord").val()));
      var url = "AjaxServer?name="+name+"&password="+password;
      url = convertUrl(url); 
       
 	  $.get(url,null,function(data){
		                       $("#result").html(data);
	                   });
  }
  
  
  </script>
    
  <body>
   <div align="center">
   <div >
   <form action="#" method="get">
   <table>
   <tr><td>用户名:</td><td><input type="text" name="userName" id="userName"/></td></tr>
   <tr><td>密&nbsp;&nbsp;&nbsp;&nbsp;码:</td><td><input type="password" id="passWord"/></td></tr>
   <tr align="right"><td colspan="2"><input type="button" value="登录" onclick="validate()"/>
   <input type="reset" value="取消"/></td></tr>
   </table> 
   </form>
   
   <div id="result"></div>
   </div>
   <hr width="600px" align="center" size="3" color="green"/>
   
   
   </div>
     
  </body>
</html>
[align=left][/align]
1
1
分享到:
评论

相关推荐

    JQuery AJAX提交中文乱码的解决方案

    JQuery是一个非常优秀的框架,在特定场合下使用JQuery提交数据,相当的方便快捷。 但是,在处理一个GB2312编码的网站AJAX提交时,中文数据却成了乱码。

    jQuery调用AJAX时Get和post公用的乱码解决方法实例说明

    以前在新浪博客写过js调用AJAX时Get和post的乱码解决办法,但是使用js代码比较繁琐,我们在使用ajax进行数据交互时可以使用js的一个成熟框架—jQuery。 一个网站的设计,不管是注册登录还是分页查找,都需要提交参数...

    Jquery的Ajax技术使用方法

    jquery是一个优秀的js框架,自然对js原生的ajax进行了封装,封装后的ajax的操作方法更简洁,功能更强大,与ajax操作相关的jquery方法有如下几种,但开发中经常使用的有三种: 1)$.get(url, [data], [callback], ...

    JAVAWeb全课程笔记( html版)

    [总结]JavaWeb乱码问题 [转自IBM]中文编码问题 JDBC入门 Jdbc事务控制管理 常用数据库连接池 编写JDBC框架 客户信息管理系统 Servlet Filter 过滤器 HTTP 协议 文件上传和下载 Servlet事件监听器 JavaMail开发 ...

    java财务系统源代码

    前后台架构: 1、java语言(jdk1.5)、struts1.2.9、hibernate3.2.6.ga、spring2.0.8 2、前台:主要使用了轻量级的ajax开发框架jQuery,使用jQuery很轻松的降低了服务器压力提高了用户体验并且代码容易维护,尤其是...

    ExtJS4中文教程2 开发笔记 chm

    JQuery AJAX提交中文乱码的解决方案 Jquery css函数用法 JQuery中getJSON的使用方法 Jquery中显示隐藏的实现代码分析 JQuery全选功能的实现 JQuery特效——下拉菜单 JQuery系列教程之XPath选择符 JQuery系列教程之...

    cangkuguanli.zip

    Ajax可以采用教材或视频中的基础代码实现,也可以使用jQuery框架集成 4根据表格的第3列取值,进行模糊删除。 5使用表单封装一条记录的信息,使用JavaScript对表格的第2列和第3列值是否为空进行验证,不空时插入...

    Java面试宝典2020修订版V1.0.1.doc

    14、JSP乱码如何解决? 36 15、session 和 application的区别? 36 16、jsp有哪些内置对象?作用分别是什么? 36 17、Jsp有哪些动作?作用分别是什么? 37 18、JSP中动态INCLUDE与静态INCLUDE的区别? 37 19、JSP和...

    基于MVC的Asp.net会员管理系统

    内容索引:.NET源码,会员交友,会员管理,管理系统 会员管理程序, MVC开发,又结合了jQuery框架AJAX技术,适合学习的朋友参考,功能上是比较简单的,主要是用户登录、注册及信息修改等,通过后台可以进行用户管理、...

    StartBBS开源轻量社区系统最新官方版

    8.ajax无刷新数据提交和更新. Startbbs v1.1.3 更新日志: 1.升级前端ui框架bootstrap2到bootstrap3版本 2.调整在ie下兼容性 3.session进行双层加密.防止伪造cookie登录. 4.改进时区的错误问题 5.点更多主题,动态...

    基于SpringBoot+Vue搭建的多功能体育场地智能管理系统源码+数据库+项目说明.zip

    【资源说明】 1、基于SpringBoot+Vue搭建的多功能体育场地智能管理系统源码+数据库+项目说明.zip 2、该资源包括项目的全部源码,下载...* 因为前端是ajax访问的,所以日期不对的话下面的场馆表格是不会加载的,gms.sq

    Java学习笔记-个人整理的

    {2.8}框架中移动的小球}{59}{section.2.8} {2.9}抽象与接口}{59}{section.2.9} {2.10}访问控制}{60}{section.2.10} {2.10.1}类的属性}{60}{subsection.2.10.1} {2.10.2}类的方法}{61}{subsection.2.10.2} {...

    文章管理系统

    1.[改进]去掉旧版AJAXRequest换成jQuery中的AJAX 2.[改进]为了系统安全和稳定去掉宇初验证码和印象码,加入4种数字验证码、1种中文验证码、1种计算题验证码供用户选择 3.[改进]为了后台系统安全,后台登录页不用判断...

Global site tag (gtag.js) - Google Analytics