Cherrypy / Chrome:在2-3次良好请求后,jquery ajax请求待处理

时间:2017-02-07 08:49:48

标签: javascript jquery python ajax cherrypy

我有一个客户端使用AJAX调用将JSON数组发布到Cherrypy服务器。服务器修改数组并将其发送回客户端。我可以看到,在做出2-3次平滑请求后,下一个请求是“等待”#39; (如Chrome中的XHR选项卡所示)。

我不知道它最后一个待处理的请求有什么特别之处。 这是服务器还是客户端问题?

这是服务器端:

@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}
]   

共9项参赛作品。第四个请求挂起。 或者,我可以发送9个POST请求,其中每个请求JSON是:

[
    {'name':name_1, 'status': status_1}
]   

共有9个条目,第10个请求挂起。它必须是我发送的JSON和它的长度。

最后3个POST的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"

1 个答案:

答案 0 :(得分:0)

解决。弹出窗口拦截器限制了请求。