1. 程式人生 > >VUE開發報錯之No 'Access-Control-Allow-Origin' header is present on the requested resource.

VUE開發報錯之No 'Access-Control-Allow-Origin' header is present on the requested resource.

近來被領導安排去做前端幫忙,使用的是VUE+elementUI。

今天完成修改密碼功能時,出現如下問題:

Failed to load http://xxxxxxxxx/motifyUserPwd: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 401.


百度一下,很多人都說是跨域的問題,可是跟前端負責人溝通,說是 ,後臺已經解決了這個跨域問題。

後臺負責人反饋說是提交的資料少了token。後來自己調出控制檯(F12)


原因:

在使用ajax提交資料時,少了一行程式碼

let that = this.$router; //獲取路由物件資訊

  

加上之後,重新登入,再次點選修改密碼



問題完美解決。

備註:通過截圖我們會發現有兩次請求,原因:在使用Ajax跨域請求時,如果設定Header的ContentType為application/json,會分兩次傳送請求。第一次先發送Method為OPTIONS的請求到伺服器,這個請求會詢問伺服器支援哪些請求方法(GET,POST等),支援哪些請求頭等等伺服器的支援情況。等到這個請求返回後,如果原來我們準備傳送的請求符合伺服器的規則,那麼才會繼續傳送第二個請求,否則會在Console中報錯。