django 开发Broken pipe from ('127.0.0.1', 58078)问题解决

最近写的一个项目,前端使用了表单submit提交,后端接收POST数据存储。实际上的逻辑并不复杂,

django接收到的时候会产生Broken pipe from ('127.0.0.1', 58078)

主要原因:

1.TCP握手尚未结束时,连接已经close;
2.服务端收到一次read,但write了多次;
3.连接通道被占满,新连接被拒绝时,client中断了所有连接。
4.逻辑执行超时。

因为我的前端是

 $("form").submit(function () {
    $.ajax({   TODO ...})
}

总结下来的原因和网上一个开发者一样:

表单里面的button默认type属性为submit,导致我每次点提交出发click触发事件后,立刻刷新页面,导致post请求未来得及响应连接就中断了,最终报错:Broken pipe。

我个人的解决办法是把submit替换button

posted @ 2019-10-09 16:25  sevck  阅读(6057)  评论(0编辑  收藏  举报