Javascript Cherrypy/Chrome:jquery ajax请求在2-3个良好请求之后挂起
我有一个客户端,它使用AJAX调用将JSON数组发布到Cherrypy服务器。服务器修改阵列并将其发送回客户端。我可以看到,在发出2-3个平滑请求后,下一个请求是“挂起”(如Chrome中的XHR选项卡所示) 我不知道最后一个请求有什么特别之处,它被搁置了。 这是服务器问题还是客户端问题 这是服务器端:Javascript Cherrypy/Chrome:jquery ajax请求在2-3个良好请求之后挂起,javascript,jquery,python,ajax,cherrypy,Javascript,Jquery,Python,Ajax,Cherrypy,我有一个客户端,它使用AJAX调用将JSON数组发布到Cherrypy服务器。服务器修改阵列并将其发送回客户端。我可以看到,在发出2-3个平滑请求后,下一个请求是“挂起”(如Chrome中的XHR选项卡所示) 我不知道最后一个请求有什么特别之处,它被搁置了。 这是服务器问题还是客户端问题 这是服务器端: @cherrypy.expose @cherrypy.tools.json_in() @cherrypy.tools.json_out() def check_multiple(self):
@cherrypy.expose
@cherrypy.tools.json_in()
@cherrypy.tools.json_out()
def check_multiple(self):
input_json = cherrypy.request.json
futures = []
[futures.append(pool.submit(checkEntry, entry)) for entry in input_json]
output_json = []
[output_json.append(entry.result()) for entry in as_completed(futures)]
return output_json
客户:
$.ajax({
type: "POST",
url: address,
data: JSON.stringify(entry_list),
contentType: 'application/json',
dataType: 'json',
success: function(data) {
// work
}
});
编辑:
好的,我已经建立了一个模式。我可以向服务器3发送POST请求,其中每个请求JSON为:
[
{'name':name_1, 'status': status_1},
{'name':name_2, 'status': status_2},
{'name':name_3, 'status': status_3}
]
[
{'name':name_1, 'status': status_1}
]
共有9个条目。第四个请求挂起。
或者,我可以发送9个POST请求,其中每个requst JSON是:
[
{'name':name_1, 'status': status_1},
{'name':name_2, 'status': status_2},
{'name':name_3, 'status': status_3}
]
[
{'name':name_1, 'status': status_1}
]
共9个条目,第10个请求挂起。一定是我发送的JSON和它的长度
最近3篇文章的Cherrypy访问日志:
10.184.67.78 - - [07/Feb/2017:03:55:28] "POST /lab/check_multiple HTTP/1.1" 200 124 "http://server-address.com/lab/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36"
10.184.67.78 - - [07/Feb/2017:03:55:34] "POST /lab/check_multiple HTTP/1.1" 200 124 "http://server-address.com/lab/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36"
10.184.67.78 - - [07/Feb/2017:03:55:40] "POST /lab/check_multiple HTTP/1.1" 200 125 "http://server-address.com/lab/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36"
解决了。弹出窗口阻止程序正在阻止请求。在其他浏览器(如Firefox)中是否也会发生同样的情况?是的,同样的行为。3个好请求和4个待处理请求您的操作系统是什么?这可能是特定于Windows的。也请分享cherrypy应用程序的日志。@webKnjaZ,客户端是windows,服务器是linux。我附加了访问日志,错误日志为空