Javascript 带有查询Ajax挂起的Web服务调用
在我开始发布大量代码之前,我想我可以更合理地解释我的情况。我在一个页面上有八个下拉列表,它们的填充方式完全相同,只是使用了不同的存储过程。返回大量行(大约44000行),但每行平均只有大约5个字符的是无效的 我正在使用web服务调用来获取数据。使用jQueryAjax调用服务调用 直接在SSM中运行时,调用大约需要2秒钟才能运行。当返回的记录较少时,一切正常。所以这不是代码逻辑的问题,而是记录数量的问题 我知道用这么多的记录填充任何东西都不是一个好主意,但是只有在极少数情况下才会返回这么多的记录,我不希望捕捉并避免这种情况,我希望程序能够正确运行 这些电话挂断有什么原因吗?我有Javascript 带有查询Ajax挂起的Web服务调用,javascript,jquery,ajax,web-services,Javascript,Jquery,Ajax,Web Services,在我开始发布大量代码之前,我想我可以更合理地解释我的情况。我在一个页面上有八个下拉列表,它们的填充方式完全相同,只是使用了不同的存储过程。返回大量行(大约44000行),但每行平均只有大约5个字符的是无效的 我正在使用web服务调用来获取数据。使用jQueryAjax调用服务调用 直接在SSM中运行时,调用大约需要2秒钟才能运行。当返回的记录较少时,一切正常。所以这不是代码逻辑的问题,而是记录数量的问题 我知道用这么多的记录填充任何东西都不是一个好主意,但是只有在极少数情况下才会返回这么多的记录
<httpRuntime executionTimeout="10000" maxRequestLength="3048576" />
在我看来,虽然这可能是缓慢的,或不是一个好主意,但它仍然是可能的
如果需要,我会发布我的代码
有什么想法吗?不清楚为什么请求会挂起。你有什么错误信息吗?如果没有,那么使用Firebug查看来自服务器的响应可能是值得的,Ajax调用应该出现在Console选项卡中,确保您已启用Show XMLHttpRequests,并且您应该能够深入查看来自那里的失败请求的响应 看起来您已经设置了ASP.NET超时。这可能是有一个单独的IIS超时开始发挥作用,但我只是在这里猜测
我要补充的唯一一点是,如果您使用ASP.NET Web服务获取数据,在处理大型响应时,将响应序列化为XML所需的时间可能非常长,因此即使数据库查询在2秒内运行,服务器也可能需要更长的时间通过Web服务返回该数据。然后,浏览器将花费大量时间对其进行反序列化。由于客户端花了很长时间来填充select文件,所以它被挂起。此问题解释了填充select的有效方法: