jquery的Ajax框架乱码解决

本文提供了一个使用Ajax实现的简单登录验证示例。通过前端JavaScript与后端Servlet交互完成用户名和密码验证,展示了如何处理中文乱码问题及基本的身份验证流程。
[size=medium][color=blue]
1.下面代码为服务器端获取请求信息Servlet,真正用的时候可能就是struts等[/color][/size]
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]
[size=medium][color=blue]2.以下是页面测试的代码:[/color][/size]

<%@ 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>密    码:</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>
[code="java"]
[align=left][/align][/code]
【SCI一区论文复】基于SLSPC系列的高阶PT-WPT无线电能传输系统研究(Matlab代码实现)内容概要:本文围绕“基于SLSPC系列的高阶PT-WPT无线电能传输系统”的研究展开,结合SCI一区论文复现,提供完整的Matlab代码实现方案。研究聚焦于高阶无线电力传输(WPT)系统的建模、优化与仿真,重点探讨SLSPC拓扑结构在提升传输效率、稳定性及抗干扰能力方面的优势。文中涵盖系统建模、参数设计、性能仿真与结果分析等关键环节,突出理论与实践结合,适用于高水平学术研究与工程应用验证。此外,文档附带丰富的科研资源链接,涵盖多个电力系统、优化算法与仿真技术方向,体现其作为综合性科研辅助资料的价值。; 适合人群:具备电力电子、无线能量传输或自动化等相关背景,从事科研工作的研究生、博士生及高校教师,以及希望复现高水平论文成果的工程技术人员。; 使用场景及目标:①用于复现SCI一区论文中关于高阶PT-WPT系统的理论与仿真结果;②为无线电力传输系统的拓扑选型、参数优化与性能评估提供Matlab仿真支持;③辅助开展电力系统、储能优化、智能算法等方向的交叉研究。; 阅读建议:建议结合提供的网盘资源,下载完整代码与案例进行实操验证,重点关注SLSPC系统建模逻辑与仿真参数设置,同时可拓展学习文档中列举的其他Matlab仿真技术内容,以提升综合科研能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值