ajax提交大数据文章
2014-10-15来源:易贤网

在之前的文章中说过ajax,写过详细的步骤,http://www.anypoetry.com/html/1725.html

上面的ajax写的是GET方式提交的异步内容,当遇到大数据的情况下,会出现url超长,或者当url的内容出现“&”时,则会按照url的链接符号传输,会出现截断。

下面是ajax用POST的形式进行提交,在提交大数据的内容出现"&",不会出现错误或者数据截断。

function GetXmlHttpObject()

{

var xmlHttp=null;

try{ // Firefox, Opera 8.0+, Safari

xmlHttp=new XMLHttpRequest();

}

catch (e){

// Internet Explorer

try{

xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

}catch (e){

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}

}

return xmlHttp;

}

function saveHint()

{ xmlHttp=GetXmlHttpObject()

if (xmlHttp==null){

alert ("您的浏览器不支持AJAX!");

return;

}

var url="anypoetry.com.save.php";

data="p="+encodeURIComponent(document.getElementById('v').value);//定义参数p

//主要是上面的这句 “encodeURIComponent”,设置将内容进行转码,这个非常重要。

data=data+"&sid="+Math.random();//加上随机码,防止缓存

xmlHttp.open("POST",url,true);

xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlHttp.onreadystatechange=stateChanged;

xmlHttp.send(data);//将数据进行post提交

}

function stateChanged()

{

if (xmlHttp.readyState==4&&xmlHttp.status == 200)

{

document.getElementById("v").value=xmlHttp.responseText;//获取返回值,并给对象v

}

}

接受页面通过进行传统的接受即可,获取前面的参数p

比如php $_POST['p']

asp request.form('p')

这样就可以完成大数据量的POST提交,并且能够自动转码进行url的&号规避。

更多信息请查看IT技术专栏

2025公考·省考培训课程试听预约报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息