标题 | ajax提交大数据文章 |
范文 | 上面的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="forasp.cn.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的&号规避。 |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。