Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有查询Ajax挂起的Web服务调用_Javascript_Jquery_Ajax_Web Services - Fatal编程技术网

Javascript 带有查询Ajax挂起的Web服务调用

Javascript 带有查询Ajax挂起的Web服务调用,javascript,jquery,ajax,web-services,Javascript,Jquery,Ajax,Web Services,在我开始发布大量代码之前,我想我可以更合理地解释我的情况。我在一个页面上有八个下拉列表,它们的填充方式完全相同,只是使用了不同的存储过程。返回大量行(大约44000行),但每行平均只有大约5个字符的是无效的 我正在使用web服务调用来获取数据。使用jQueryAjax调用服务调用 直接在SSM中运行时,调用大约需要2秒钟才能运行。当返回的记录较少时,一切正常。所以这不是代码逻辑的问题,而是记录数量的问题 我知道用这么多的记录填充任何东西都不是一个好主意,但是只有在极少数情况下才会返回这么多的记录

在我开始发布大量代码之前,我想我可以更合理地解释我的情况。我在一个页面上有八个下拉列表,它们的填充方式完全相同,只是使用了不同的存储过程。返回大量行(大约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的有效方法: