我在asp.net Web应用程序中调用了页面加载的多个函数。
所有功能都在页面就绪方法上运行 见下面的代码
$(document).ready(function(){
func1();
func2();
func3();
//.... so on.
});
function func1()
{
$.ajax({
type: "POST",
url: "Contents.asmx/GetText",
data: "{ }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
/some code
}
});
}
function func2()
{
$.ajax({
type: "POST",
url: "Contents.asmx/GetTitles",
data: "{ }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
/some code
}
});
}
....喜欢聪明的人
对于后端我使用SQL server-05。 当页面加载它有更多的时间加载, 以上功能需要30秒以上才能加载。
如何优化函数调用?..
答案 0 :(得分:1)
只要/some code
不是太多,你就无法做到。这些ajax称区域重量轻。您的问题可能在后端,您将请求发送到。
要调试/配置您的问题,请先检查您的ajax请求。在像Firebug这样的网络工具中检查它们,看看您的请求是否符合要求。在那里,您还可以检查您的请求需要多长时间。
正如您现在看到的瓶颈(例如请求Contents.asmx/GetTitles
需要这么长时间),请检查提供该页面的服务器。由于您没有提供该代码,我们无法帮助您。但那是你必须寻找下一步的地方。
答案 1 :(得分:1)
您可以将所有查询聚合到一个新的Web方法中,该方法将立即执行所有SQL查询。然后向这个新方法发送一个AJAX请求。就您的SQL服务器而言,您还可以将多个SQL查询发送到一次往返。尝试尽可能优化SQL查询。您也可以缓存一些昂贵查询的结果。