Ajax处理时反应慢,弹出的DIV关闭速度很慢
本帖最后由 uiwgi 于 2013-12-31 14:02:46 编辑
我用.net开发一个生产排程页面,可以实现所有机种每月的具体生产计划,每行35列左右,行数不确认,目前最多在100以内。
布局如下图所示:
然后针对每一个小格子(td)都有设置ID,然后Ajax实现局部更新数据。
当单击对应的td时,会弹出修改数据的DIV,修改完成后,当保存时会有大概3秒左右的延时,然后才会关闭DIV。
这样反应过慢造成了使用人员体验效果非常差,输入数据太慢。
请问一下,有没有办法能提高处理速度,当点击“保存”后能立即关闭DIV并处理好数据。
Database的负载很低的,所以不知道是哪里出了问题?
JS代码如下:
function GetXmlHttp() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function SaveNewItem() {
if (CheckLogin() == false)
return;
var ProductID = document.getElementById("st").value;
var OrderName = document.getElementById("order_Input").value;
var A = GetXmlHttp();
A.onreadystatechange = function () {
if (A.readyState == 4 && A.status == 200) {
if (A.responseText.substring(0,2)=="NG")
alert(A.responseText.substring(2, 13)); }
}
A.open("GET", "ajax_response/SaveData.aspx?PID=" + ProductID + "&ON=" + OrderName);
A.setRequestHeader("If-Modified-Since", "0");
A.send(null);
}
------解决方案--------------------如果是jquery的 Ajax , async: true,异步提交。
------解决方案--------------------首先你要确定是哪里慢,比如去掉ajax保存到后台的过程看看,确定问题点才好解决问题。
如果自己找不出来那你就弄个html版的简单完整demo代码发出来看看。
------解决方案--------------------$("td").click(function(){
$.ajax({
})
})
如果不是后台处理慢的话,应该是点击保存就可以弹出保存成功
------解决方案-----