Ajax处理时反应慢,弹出的DIV关闭速度很慢
然后针对每一个小格子(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({
})
})
如果不是后台处理慢的话,应该是点击保存就可以弹出保存成功
[解决办法]
ajax應該不會很慢的,慢的原因估計是這刷新綁定資料那個部份,建議分頁處理。
[解决办法]
我再强调一遍吧:扔掉你的“数据库脑袋”先把真正的应用程序时序模型设计好。数据库表操作没有特别的技术含量,你当然应该先把它分层隔离,才能真正设计好前端应用。