首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

ajax碰到请求url过长的有关问题

2012-11-23 
ajax碰到请求url过长的问题!一个超大文本框textarea里面有大量数据,ajax通过URL请求service返回结果,URL里

ajax碰到请求url过长的问题!
一个超大文本框textarea里面有大量数据,ajax通过URL请求service返回结果,URL里面包含了各种参数,当然也包含之前的超大文本框的内容。

之前开发的时候一直用Firefox在调试,4000长度的字符串在textarea里面通过URL请求都是没有问题。
提交给测试的时候问题来了,测试人员在IE下面发现问题,textarea里面字符长度超过2000(大概数据)时,会报JS错误,ajax没有返回值给前台。

看原先代码:

function getJsonData(url) {   var ajax = Common.createXMLHttpRequest();   ajax.open("GET",url,false);   ajax.send(null);   try   {    eval("var s = "+ajax.responseText);    return s;   }   catch(e)   {    return null;   } } function getData(){ var url="BlacklistService.do?datas="+datasvalue; var result = getJsonData(url); } 

网上google发现解决办法:
修改使用的XMLHttp的请求为POST,并且把参数和URL分离出来提交。

修改后代码如下:

function getJsonData(url,para) {   var ajax = Common.createXMLHttpRequest();   ajax.open("POST",url,false);   ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');   ajax.send(para);   try   {    eval("var s = "+ajax.responseText);    return s;   }   catch(e)   {    return null;   } } function getData(){ var url="BlacklistService.do"; var para="datas="+datasvalue; var result = getJsonData(url,para);}

热点排行