我正在尝试使用标准jQuery AJAX调用将MVC视图中的AJAX转换为空标记: -
function AjaxLoadPanel(url, id) {
var a = 1;
$.ajax({
url: url,
cache: true,
type: "GET",
success: function (data) {
if (data == "PageNotFound") {
window.location = "page-not-found";
}
else {
$(id).html(data)
}
},
error: function (response) {
$(id).html("");
}
});
}
MVC控制器只返回带有MVC表单的View,以及超出该范围的HTTP Post以接受表单数据。但是,当我将带有div标签的页面以及DLL和视图放在服务器上时,在使用AJAX调用的视图返回填充div标签之前存在明显的延迟。当我说明显滞后时,我的意思是在页面加载后30到60秒。 AJAX调用最终完成,但是这样的问题使得页面对于毫无戒心的用户来说是无用的。
我查过的东西: -
如何加快视图的检索速度?如果可能的话,我需要它在页面加载的1秒内?此外,在localhost上,此功能以闪电般的速度运行,加载速度约为0.2 / 0.3秒。
服务器可能很慢吗?
谢谢! 麦克
答案 0 :(得分:1)
检查浏览器的网络面板加载AJAX请求需要多长时间。
我很确定后端/服务器有问题。您是否100%确定服务器后端代码与localhost后端代码相同?您还使用任何数据库来检索数据。也可能是数据库问题。
答案 1 :(得分:0)
We found the issue eventually. A datbase connection string login was wrong and the 30 second wait was always 30 seconds because of the length to try and connect to the database for, before causing an exception. At 30 seconds those views that don't directly rely on a database connection are still retrieved, hence the 30 second wait every time.
Thanks for your help! Mike.