vue 中使用 axios 請求接口,請求會發送兩次問題

在開發項目過程當中,發如今使用axios調用接口都會有兩個請求,第一個請求時,看不到請求參數,也看不到請求的結果;只有第二次請求時纔會有相應的請求參數以及請求結果;前端

那爲甚麼會有這麼一次額外的請求呢,後面通過查證資料發現:ios

若是隻是普通的 ajax 請求,也不會發起這個請求,只有當 ajax 請求綁定了 upload 的事件而且跨域的時候,就會自動發起這個請求了。這樣就很顯然了,咱們有 upload 事件綁定(通常都是本地調試,因此會有跨域),看了下 axios 文檔,發現config配置文件中有兩個參數:分別用於處理上傳和下載事件,也就是這裏綁定了 upload 事件,因此每次請求都會有個 option 請求。ajax

// onUploadProgress: function(progressEvent) {
    // // Do whatever you want with the native progress event
    // },


 // onDownloadProgress: function(progressEvent) {
 // // Do whatever you want with the native progress event
 // },

解決方案以下:axios

①.直接註釋掉配置文檔中這兩個事件的請求就行了;後端

②.跨域請求須要先發一次 option 預請求,options是檢驗是否容許跨域的,若是不但願options 請求,直接讓後端遇到option 直接返回就能夠了,前端可不作處理;跨域

相關文章
相關標籤/搜索