AJAX中的利用POST传送数据

本文介绍如何使用POST方法解决AJAX中提交数据时出现的乱码问题,并通过具体示例展示了如何编码和设置请求头来确保数据正确传递。
这里我只写关键语句,其它的就和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!');
}
}
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值