整容说文库 > 程序代码 > 教育资讯

ajax post 传值怎么做?

来源:学生作业帮助网 编辑:整容说文库 时间:2021/05/19 07:06:14 程序代码
ajax post 传值怎么做?程序代码
不会ajax,改人家程序遇到了。因为他用的get方式,因为参数过长,被截断了。
想改成post,却不知道怎么改。查了半天,把原来的:
http_request.open("GET", url, true);
http_request.send(null);
改成了:
http_request.open("POST", url, true);
http_request.send(sends);//sends为如a=x&b=y的字符串
可是程序没有反映了。
后来说需要加上这么句:
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
可是加到哪里都说这句话出错。
请问怎么做?
搞定,谁来接分
晕,不行。虽然有反应,但是值太长还是会被截断!!!
&害死人阿,数据库抓出来的参数有"&"!!
放心回家
明天一早结帖

别结不了啊,来个人接分
怎么搞定的?说说
这里面有个简单的例子
http://community.csdn.net/Expert/topic/5146/5146925.xml?temp=.8540918
<script language="javascript">
var XMLHttpReq = false;
// 创建 XMLHttpRequest 对象(主函数不需改变)
function createXMLHttpRequest(){
if(window.XMLHttpRequest){  // Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}else if (window.ActiveXObject){ // IE 浏览器
try{
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
}
//发送请求函数(提交xml格式的请求参数)
function sendRequest(url,xml){
createXMLHttpRequest();
XMLHttpReq.open("POST",url,true);
XMLHttpReq.onreadystatechange = processResponse;//指定响应函数
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.send(xml);//发送请求
}
//创建XML
function createXML(){
var xml = "<user>";
xml = xml + "<name>sunjianbin<\/name>";
xml = xml + "<password>7980421<\/password>";
xml = xml + "<\/user>";
return xml;
}
//处理返回信息函数(处理xml格式的返回信息)
function processResponse(){
if(XMLHttpReq.readyState == 4){ // 判断对象状态
if(XMLHttpReq.status == 200){ // 信息已经成功返回,开始处理信息
readXml();
}else { //页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
function readXml(){
var objects=XMLHttpReq.responseXML.getElementsByTagName("user");
for(var i=0;i<objects.length;i++){
var object = objects[i];
var name=object.getElementsByTagName("name")[0].firstChild.data;
var password=object.getElementsByTagName("password")[0].firstChild.data;
alert("name>>>"+name+",password>>>"+password);
}
}
function sendto(){
var url="/test/servlet/test";
var xml=createXML();
sendRequest(url,xml)
}
</script>
将参数的值escape。。。到服务器再unescape...
var posturl="/fullcare/autopage/PostData/Post.aspx?1";
    var oBao=new ActiveXObject(objHTTP);    
    var Dom=new ActiveXObject(objDOM);
    oBao.open("POST",posturl,false);    
    oBao.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");    
    oBao.send(xmldom);
SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
嗯,就是各位说的方法。post也正常。用另外的一定不会用到的字符替代&,传过去后再替换回来,呵呵
程序代码