之前在使用axios發現每次調用接口都會有兩個請求,第一個請求時option請求,而且看不到請求參數,當時也沒注意,只當做是做了一次預請求,判斷接口是否通暢,但是最近發現並不是那么回事。
首先我們知道了額外的一次請求時option請求,那么這個是干嘛用的呢?
如果只是普通的 ajax 請求,也不會發起這個請求,只有當 ajax 請求綁定了 upload 的事件並且跨域的時候,就會自動發起這個請求。詳細看http://www.tuicool.com/articles/3UBzIbb。
這樣就明了了,就是我們有upload事件綁定(一般都是本地調試,所以會有跨域),我仔細看了下axios文檔,發現config配置文件中有兩個參數
// onUploadProgress: function(progressEvent) { // // Do whatever you want with the native progress event // }, // onDownloadProgress: function(progressEvent) { // // Do whatever you want with the native progress event // },
分別處理上傳和下載事件,也就是這里綁定了upload事件,所以每次請求都會有個option請求。
解決方案很簡單,直接注釋掉就好了,當然如果開發的工程上線使用跟請求的接口是同一個域名下自然不會兩次請求。都看個人需求吧,關於axios的使用上一篇博文有介紹http://www.cnblogs.com/Upton/p/6180512.html