最近寫的一個項目,前端使用了表單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