Ajax—— get请求中文处理

3 篇文章 0 订阅

get请求的URL后面的参数不能传中文,工作中对get请求后的中文进行URL编码
js提供的URL编码和解码
encodeURl()Component编码与decodeURlComponent解码
encodURl()与encodeURlComponent()的区别:encodeURl函数不会对特殊字符进行处理:!、@、#、 $、&、*、 {}、=、:、/、;、?、+
推荐使用encodeURlComponent()

案例:修改之前get请求的URL编码

创建jsp登录页面LoginServlet

<script type="text/javascript">
//js登录方法
function login(){
//使用ajax往servlet发送get请求
//1.获取表单数据
var username=document.getElementById('username').value;
var password=document.getElementById('password').value;
//2.拼接表单数据
var params='username'+username+'&password'+password;

//对参数进行URL编码
params=encodeURIComponent(params);

//3.URL
var url='${pageContext.request.contextPath}/LoginServlet?'+params;
//4.使用ajax发送get请求
//4.1创建一个请求对象
var request=new XMLHttpRequest();
//4.2调用get请求方法,调用open方法的时候,都用异步请求true
request.open('get',url,true);
request.send();
//4.3接收服务器的响应
request.onreadystatechange=function(){
console.log('准备状态码:'+request.readyState+'---响应状态码:'+request.status);
if(request.readState==4&&request.status==200){
//接收服务器响应的数据
var rspText=request.responseTest;
console.log(rspText);
var jsonObj=JSON.parse(rspText);
//获取span标签
var tipTag=document.getElementById('tip');
if(jsonObj.success==1){
tipTag.innerHTML='登录成功';
}else{
tipTag.innerHTML=jsonObj.errMsg;
}
}
}
}
</script>

 <span style="color:red" id='tip';></span>
<form>
用户名:<input type="text" name="username" id='''username'><br>
密码:<input type="password" type="password" name="password" id="password"><br>
<input type="button" value="登录" onclick="login()">
</form>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值