呈现 JSP 后,我在这里尝试通过 ajax 进行异步调用以在页面上加载其他信息。
我希望 ajax 加载能够优雅地发生,而不会妨碍 UI 滚动条导航。但是调用会阻塞 UI,直到 onLoad 完成。
在其他时候,即使在鼠标单击 ajax 调用时,此服务也会阻止 UI(在pointer
加载数据之前光标保持为类型)。
在这两种情况下,我都是通过 javascript 构建 DOM(比如为 div 或 table 创建 innerHTMl)。是不是因为这个?或者是其他东西?我附上了我的ajax请求代码。
感谢你的帮助。(对不起,我试图格式化代码,但我无法在这里得到它)
function requestService(theService, theParamObj, isSyncCall) {
var ajaxRequest = getAjaxRequest();
var params = "data=";
if(theParamObj != null)
params += encodeURIComponent(JSON.stringify(theParamObj));
ajaxRequest.onreadystatechange = function() {
if (ajaxRequest.readyState == 1) {
showLoadingBox();
}
if (ajaxRequest.readyState == 4) {
handleResponse(ajaxRequest.responseText, theService, theParamObj);
hideLoadingBox();
}
};
var queryString = "?timestamp=" + new Date().getMilliseconds() + "&theService=" + theService;
if(isSyncCall == null)
isSyncCall = false;
ajaxRequest.open("POST", g_Service + queryString, isSyncCall);
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajaxRequest.send(params);
}
更新:对此服务的 onLoad 调用
function loadAdInfo(){
var theParamObj = {"REQUEST_URI" : window.location.href};
requestService('getAdInfo', theParamObj, false);
}