使用axios發送請求,遇到會發兩次的情況


在學習php&mySQL的過程中,前端nuxt用(vue官方推薦的)axios發送post請求,以實現向數據庫插入頁面提交數據的功能。

發現功能是實現了,但數據庫中表的數據是這樣的

很莫名其妙的多出空行,由於是初學者,費了好長時間找是不是自己php連接數據庫的代碼出了什么問題,但並沒有發現疏漏。

於是找回前端,確定axios請求只觸發了一次后,看了下瀏覽器控制台network,發現每次點擊提交都會出現2次請求,對比一下發現第一次請求是這樣的

下邊的login.php才是正常的post請求。那么本着不懂就要問的不要臉精神,去網上找答案:

https://blog.csdn.net/Homer_Simpson/article/details/89188068

寫得很明白,復雜請求,就會自動進行一次預請求,和我們沒關系。那么嘗試解決這個問題:php中做一下判斷

1 if (!$_SERVER['REQUEST_METHOD']=== 'POST') {
2     die('不是post請求忽略');
3 }

自己是個菜鳥,看php連接數據庫的寫法是這樣的:

就給die()方法也拿過來試一哈,結果不出意料的失敗了。於是接着找:

https://blog.csdn.net/qq_30378229/article/details/78576625

寫得原因是一樣的,但這個給出了解決的代碼:

1 if(strtoupper($_SERVER['REQUEST_METHOD'])== 'OPTIONS'){
2     echo 'options請求,已忽略。';
3     exit; 
4 }

親測有效,真是感謝兩位素未謀面的朋友。雖然自己加上去的輸出語句並沒有打印出來(笑cry),但數據庫中的數據已經完全正常:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM