今天在寫代碼的時候,遇到一個很奇怪的問題,一個form表單,用的是ajax的方式提交。結果,在服務器端php中,使用exit(),函數后都不能停止,並且繼續跳轉到本頁。請求如下:

第一個請求中,其實我已經停止了代碼,但程序並沒有執行到,但返回的也是200狀態碼。
雖然,請求返回的是200,但查看reponse時,卻發現是空的。

后來經過排查發現,原來是前端寫的頁面已經在input控件上,寫好了type="submit"(都怪自己粗心,居然沒看看),然后真相大白了。原因是,提交按鈕綁定了,ajax提交的同時,又執行了form表單請求。而from表單請求,本身又會刷新頁面。
從這里可以簡單看出,js會先執行用戶綁定的事件,然后再去執行form表單提交。奇怪的是為什么第一個請求都能返回200了,卻不能正常執行服務器端的代碼呢?
