今天在進行js開發的過程中出現了一個奇怪的問題,就是使用ajax向后端發送post請求時,在瀏覽器network中查看response時,顯示400 bad request 並且請求方式變成get,因為本人不專前端,所以甚是疑惑,百般尋找答案無果,已經排除不是jsonp 跨域請求(據說js中跨域只能進行get請求,如果是post會將請求轉化為get請求)
各種尋找后,看到一個極老的帖子,也是同樣的問題,而且有一個網友也翻到了這個幾年前的帖子,並且留了言,說是因為靜態資源文件的url和后端服務url重名了,比如后端服務的url是 /api/v1/take_case, 前端靜態資源文件夾路徑是/api/v1/take_case/ 這樣就會出現上面的問題,在后端url中加上一個 / ,post請求時也使用相應的url即可.
我的實際情況是django 的urls.py文件里 匹配的url 是 /api/v1/take_case/, 但是給到我的接口卻是 /api/v1/take_case
在最后加上一個 / 后解決問題
具體原因到底是那一個,請自測