firefox浏览器下,dojo通过ajax,json异步刷新速度太慢的有关问题!(有分后再追加100分!)
firefox浏览器下,dojo通过ajax,json异步刷新速度太慢的问题!(有分后再追加100分!)
问下,这上面的代码是dojo的ajax去数据库取数据,然后通过json返回对象到页面。
在ie下, var obj=dojo.fromJson(json); 中的obj取到数据的时间不到半秒钟。
但是在firefox2.0下,obj取到数据花了5到7秒钟,这个是为什么?我上网查不到原因。
自己尝试过的方法:
1,开始我还以为是电脑的原因,我换到别的电脑中跑url或者把我的工程部署到别的电脑上,发现也是一样的!
2,我将json换成xml或者text来取数据。发现ie中正常,firefox也是很慢。
问题:怎么解决firefox下dojo通过json取数据慢的问题呢?
------解决方案--------------------
友情up,清明过后来解决!
------解决方案--------------------
我一直用prototype,不过json的问题我们可以这样测试
1 确定你的程序速度,也就是调用的速度
2 确定数据转化为json的速度
可以用date进行测试,用alert报出使用的时间!
另,json数据结构是js内部支持的,在firefox下面不会有问题。 我怀疑是调用的部分有问题。
------解决方案--------------------
IE 和firefox 的javascript版本不一样的吧
------解决方案--------------------
json应该不会比xml或者text慢..
- HTML code
function getColumnValue(target){ var columnName=target.getAttribute("columnName"); var tableName=dojo.byId("tableName").innerHTML; curTargetID=target.id; /** dojo version 1.0.2 Ajax */ pars="tableName="+tableName+"&columnName="+columnName; dojo.xhrGet({ url:"dCSystemColumnValueServlet?"+pars, handleAs:'json', // timeout:4000, load:function (json,ioArgs){ showColumnValue(json); }, error: function(json) { //alert("Error"); var targetDiv=dojo.byId(curTargetID); targetDiv.style.width="200px"; } }); } function showColumnValue(json){ var obj=dojo.fromJson(json); var div=document.createElement('div'); var table=document.createElement('table'); var tbody=document.createElement("tbody"); div.className='InnerBox'; //alert("recordNumber:"+recordNumber); for(var i=0;i<obj.values.length;i++) { var columnValue=obj.values[0].value; var td=document.createElement('td'); td.className="DragBoxTd"; if(columnValue){ if(columnValue.length>20){ td.innerHTML=columnValue.substring(0,20)+'...'; }else{ td.innerHTML=columnValue; } if (i%2==0) { td.style.backgroundColor="#9faed7"; }else{ td.style.backgroundColor="#d8ddf1"; } } var tr=document.createElement('tr'); tr.appendChild(td); tbody.appendChild(tr); table.appendChild(tbody); }
问下,这上面的代码是dojo的ajax去数据库取数据,然后通过json返回对象到页面。
在ie下, var obj=dojo.fromJson(json); 中的obj取到数据的时间不到半秒钟。
但是在firefox2.0下,obj取到数据花了5到7秒钟,这个是为什么?我上网查不到原因。
自己尝试过的方法:
1,开始我还以为是电脑的原因,我换到别的电脑中跑url或者把我的工程部署到别的电脑上,发现也是一样的!
2,我将json换成xml或者text来取数据。发现ie中正常,firefox也是很慢。
问题:怎么解决firefox下dojo通过json取数据慢的问题呢?
------解决方案--------------------
友情up,清明过后来解决!
------解决方案--------------------
我一直用prototype,不过json的问题我们可以这样测试
1 确定你的程序速度,也就是调用的速度
2 确定数据转化为json的速度
可以用date进行测试,用alert报出使用的时间!
另,json数据结构是js内部支持的,在firefox下面不会有问题。 我怀疑是调用的部分有问题。
------解决方案--------------------
IE 和firefox 的javascript版本不一样的吧
------解决方案--------------------
json应该不会比xml或者text慢..