jquery $ .ajax函数调用第一次很慢

时间:2009-01-29 18:09:33

标签: jquery ajax

我使用$ .ajax更新数据库中的某些值。当页面第一次进行ajax调用时,它很慢。返回结果需要5到6秒钟。在第一次请求之后,它很快。我不确定是否有办法快速拨打第一个电话。如果您有任何想法,请告诉我。

谢谢, 斯里达尔

8 个答案:

答案 0 :(得分:2)

我怀疑数据库正在进行一些缓存,后续请求是从缓存中填充的。如果这只发生在数据的第一个请求上,无论涉及哪个数据,那么我怀疑你连接的Web服务需要在第一次操作时加载到内存中。

答案 1 :(得分:1)

调用方法的服务类型是什么?它可能是它调用的服务很慢,而不是jQuery。

答案 2 :(得分:1)

为IE安装Fiddler,或在firefox中运行Firebug控制台并查看请求/响应标头。你会看到延迟发生的地方。

答案 3 :(得分:0)

你的ajax是否针对ASP.NET处理程序调用?如果是这样,那么它可能来自ASP.NET加载应用程序域。

答案 4 :(得分:0)

您应该记录服务器端脚本执行时间。我同意John,并建议你现在专注于服务器而不是jQuery。

答案 5 :(得分:0)

感谢您的回复。服务器端代码不是很慢。如果是,那么每次都会很慢。这就是我们为使其更快地工作所做的工作。当页面加载时,在document.ready函数中,我们正在进行虚假的web服务调用以消除初始延迟。现在工作正常。服务器端代码实际上不是Web服务,而是asp.net中的页面方法。页面方法可以用作asp.net中的webservices。我将运行firefox,看看会发生什么。

谢谢, 斯里达尔。

答案 6 :(得分:0)

如果它只发生在IE7中,这是因为IE7渲染速度很慢。它可能只是第一次发生,因为jquery get / ajax将以可以被浏览器缓存的方式使用请求。

基本上,目前尚不清楚它是渲染还是服务器。

它仍然可能是服务器 - 查询缓存(或其他类型的缓存)意味着查询可能只是第一次缓慢,然后很快。

答案 7 :(得分:0)

如果您在ASP.NET应用程序上发现了问题

当然,第一个请求总是需要更长时间。 这个开销加载时间来自JIT编译所请求的应用程序, 除非您预先编制了网站。

换句话说, 只有在ASP.NET应用程序上将释放标志设置为“调试”时才会发生这种情况 如果将其设置为“发布”,您将发现它仅是每个请求的网址的第一次 会慢下来,但下次会很棒。

(英语不是我的母语)