AJAX调用后重定向时烧瓶断管

AJAX调用后重定向时烧瓶断管,ajax,flask,flask-sqlalchemy,Ajax,Flask,Flask Sqlalchemy,我有一个JQuery AJAX调用: $.getJSON($SCRIPT_ROOT + '/_click_btn?btnId='+$(this).attr("id"), $('form').serialize(), function(data) { // return to send_messages page window.location = 'send_messages'; }); 它不做任何花哨

我有一个JQuery AJAX调用:

$.getJSON($SCRIPT_ROOT + '/_click_btn?btnId='+$(this).attr("id"),
          $('form').serialize(),
          function(data) {
             // return to send_messages page
             window.location = 'send_messages';
});
它不做任何花哨的事。它只是将一些表单数据保存到数据库(使用SQLAlchemy)。我在window.location语句上放置了一个断点,如果我将重定向延迟1-2秒,则不会发生断管。处理这个问题的最佳做法是什么

另一个值得注意的是,在AJAX调用完成后,DB会话保持打开状态

下面是错误消息

Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib64/python2.7/threading.py", line 813, in __bootstrap_inner self.run()
File "/usr/lib64/python2.7/threading.py", line 766, in run self.__target(*self.__args, **self.__kwargs)
File "/gui/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 656, in inner srv.serve_forever()
File "/gui/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 496, in serve_forever HTTPServer.serve_forever(self)
File "/usr/lib64/python2.7/SocketServer.py", line 238, in serve_forever
self._handle_request_noblock()
File "/usr/lib64/python2.7/SocketServer.py", line 297, in _handle_request_noblock
self.handle_error(request, client_address)
File "/usr/lib64/python2.7/SocketServer.py", line 295, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib64/python2.7/SocketServer.py", line 321, in process_request
self.finish_request(request, client_address)
File "/usr/lib64/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib64/python2.7/SocketServer.py", line 655, in __init__
self.handle()
File "/gui/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 216, in handle rv = BaseHTTPRequestHandler.handle(self)
File "/usr/lib64/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/gui/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 251, in handle_one_request
return self.run_wsgi()
File "/gui/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 193, in run_wsgi
execute(self.server.app)
File "/gui/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 184, in execute
write(data)
File "/gui/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 152, in write
self.send_header(key, value)
 File "/usr/lib64/python2.7/BaseHTTPServer.py", line 401, in send_header
self.wfile.write("%s: %s\r\n" % (keyword, value))
IOError: [Errno 32] Broken pipe

作为一个临时解决方案,我在重定向之前增加了500毫秒的延迟。看起来一定有更好的方法,但现在可以了。

我在Ubuntu VM上Kubernetes上的Ubuntu Docker容器中也看到了这个错误:

Error on request:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 270, in run_wsgi
    execute(self.server.app)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 261, in execute
    write(data)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 227, in write
    self.send_header(key, value)
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 412, in send_header
    self.wfile.write("%s: %s\r\n" % (keyword, value))
IOError: [Errno 32] Broken pipe

我创建了一个全新的UbuntuXenial VM,并在Kubernetes上的UbuntuDocker容器中运行了相同的代码,但没有看到这个错误,Python Flask按预期工作。我想这是我的主机(Ubuntu VM)的问题。

请粘贴错误日志的其余部分好吗?完成!谢谢