gpt4 book ai didi

ajax - AJAX调用后重定向时 flask 损坏的管道

转载 作者:行者123 更新时间:2023-12-03 16:52:29 24 4
gpt4 key购买 nike

我有一个 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 调用完成后数据库 session 保持打开状态。

错误消息如下。
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 毫秒的延迟。似乎必须有更好的方法,但这目前有效。

关于ajax - AJAX调用后重定向时 flask 损坏的管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40665419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com