AJAX中的利用POST传送数据

本文介绍了一种在使用AJAX的POST方法时解决中文乱码的有效方案,并通过示例代码展示了如何进行数据编码及HTTP头部设置。

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

这里我只写关键语句,其它的就和GET方法一样的,如果不请楚,请看我前面的文章:Ajax的JSP示例以及相关知识介绍,适合于入门者

function doMyPost()
{

//这里一定要加两次编码,具体原因请看:AJAX中利用POST方法向服务提交数据时乱码的解决方案
var title=encodeURI(encodeURI(document.getElementById("title").value));
var content=encodeURI(encodeURI(document.getElementById("content").value));
var url="writeBlg.jsp";
var postDate='title='+title+"&content="+content;
httpRequest=createRequest();
httpRequest.open("POST",url,true);
httpRequest.onreadystatechange=disContent;

//设置发送头部
httpRequest.setRequestHeader("content-length",postDate.length);
httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
httpRequest.send(postDate);

}
function disContent()
{
if(httpRequest.readystate==4)
{
if(httpRequest.status==200)
{
var response=httpRequest.responseText;
//这里只能够用indexOf方法,因为返还有一大堆HTML代码
//我被这个问题折磨了好几十分钟
if(response.indexOf("operateOK")>0)
{
document.getElementById("addButton").disabled=false;
}
var title=document.getElementById("title").value;
var content=document.getElementById("content").value;
document.getElementById("totalContent").innerHTML+="<br>"+"title:"+title+"<br>"+"content:"+content;
document.getElementById("title").value="";
document.getElementById("content").value="";
}
else
{
alert('Something Wrong has Happend!');
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值