我使用$ .ajax更新数据库中的某些值。当页面第一次进行ajax调用时,它很慢。返回结果需要5到6秒钟。在第一次请求之后,它很快。我不确定是否有办法快速拨打第一个电话。如果您有任何想法,请告诉我。
谢谢, 斯里达尔
答案 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应用程序上将释放标志设置为“调试”时才会发生这种情况 如果将其设置为“发布”,您将发现它仅是每个请求的网址的第一次 会慢下来,但下次会很棒。
(英语不是我的母语)