1. 程式人生 > >為什麼axios請求介面會發起兩次請求

為什麼axios請求介面會發起兩次請求

之前在使用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

相關推薦

為什麼axios請求介面發起請求

之前在使用axios發現每次呼叫介面都會有兩個請求,第一個請求時option請求,而且看不到請求引數,當時也沒注意,只當做是做了一次預請求,判斷介面是否通暢,但是最近發現並不是那麼回事。 首先我們知道了額外的一次請求時option請求,那麼這個是幹嘛用的呢? 如果只是

nginx配置跨域之後每次訪問發送請求

公司專案從前後端不分離轉到前後端分離 首先遇到的問題就是前後端分離的時候跨域的問題 但是當跨域成功配置並且能訪問成功的時候發現 每次客戶端的請求都會發送兩次 第一次是OPTIONS的請求,然後才是正常的請求 查閱資料得到的結論是: 第一個OPTIONS的請求是由Web伺服器處理跨域訪問引發的。

axios傳送請求,options與get/post

因為vue-resource不在更新,vue推薦使用axios,所以使用axios。 在頁面互動過程中,發現axios一定機率會發送兩次請求,一次是自己設定的請求方式,還有一次是options。 關於這個問題,在各個網站尋求原因,得出以下結論: 跨域

angular ajax請求 結果顯示顯示的問題

question ros 成功 blog -1 per 允許 cross -o angular 項目中,由於用到ajax 請求,結果顯示如下情況 同樣的接口,顯示兩次,其中第一次請求情況為 request method 顯示為opttions 第

Android中RxJava使用4----請求,第二請求的引數是第一請求的結果

思路: 1請求資料,根據使用者名稱和密碼,獲取User_id 2再請求資料,根據User_id,獲取使用者資訊 具體實現程式碼: 2.1、在build.gradle中新增依賴 compile 'com.jakewharton.rxbinding:rxbindin

http傳送請求,一option,一get

在專案中發現ajax中出現兩次請求,OPTIONS請求和GET請求,得到的資料出錯,所以想要去掉OPTIONS請求。 ajax請求如下: ajaxRequestGet: function (last

axios 封裝帶請求頻繁取消上一請求

axios 封裝 首先引入axios 建立例項 import axios from 'axios' // 建立axios例項 const service = axios.create({ baseURL: process.env.BASE_API, // api的base_url

ajax呼叫,傳送了請求(一請求方法為option,一為正常請求

在專案了開發時遇見一個奇怪的現象,就是我在js裡面掉了一次ajax請求,在瀏覽器network那邊查詢到的卻是傳送了兩次請求,第一次的Request Method引數為OPTIONS,第二次的Request Method為我正常設定的POST。 在參考了:https://b

由一個“請求”引出的Web伺服器跨域請求訪問問題的解決方案

我們公司的專案都是前後端分離的,上線幾個月以來,發現一個很奇怪的問題,每次前端發起請求,通過瀏覽器的開發者工具都能看到在Network下同一個url有兩條請求,第一條請求的Method為OPTIONS

重定向是請求,如何解決將在request中儲存的資料傳遞到另外一個網頁上呢?

1、若是request中儲存的是英文資訊,可以將該資訊放入url地址中當作引數?info="要傳遞的資訊"傳遞到另外一個網頁2、若是中文的話,會出現亂碼,需要解決亂碼問題,先解碼:URLEncoder.encode("info","utf-8");另外一個網頁解碼:Strin

頁面提交一請求,action執行

問題描述:struts2框架,ajax請求下頁面提交一次請求,action中的方法會執行兩次原因:action中的方法以get開頭,所以執行兩次,原理不清楚,猜測與struts2的屬性驅動有關係(以set、get方式設定和取值)解決方法:把方法名改為以其他字串開頭就好了

瀏覽器重新整理頁面後向伺服器發出請求的問題

在IE和FireFox下重新整理頁面,發現伺服器接收到兩次相同的請求,經過驗證,發現是頁面中包含了如下程式碼:<img src=""/>此處src為空字串,瀏覽器會認為src指向的是當前頁面,由於img元素是根據src來獲得圖片資料的,因此當瀏覽器第一次請求後顯示

【easyui】 datagrid連續傳送請求問題

XXXXXX.datagrid({ url: "${pageContext.request.contextPath}/xx/xx/xx, }); 用上述方式動態載入datagrid的資料時,通過net監聽,發現呼叫了兩遍

解決請求介面要以JSON格式請求後端的問題

一開始就跟平常一樣寫好介面就給前端。發現老是500方法進不來發現是請求頭Content-Type的問題導致的 相關知識: (1):我們預設使用的表單和Jquery預設的Ajax請求,Content-Type都是預設採用:application / x-www-form-urlenc

解決Extjs一雙擊觸發單擊事件,和一雙擊事件

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興! 給我老師的人工智慧教程打call!http://blog.csdn.net/ji

為什麼fork呼叫返回

    fork大家可能都比較熟悉,呼叫一次返回2次,返回pid>0為父程序,pid=0為子程序。一直對fork方法如何返回兩次有些疑惑,函式呼叫一次通常只返回一個結果,fork呼叫怎麼會返回2次?之前查過原因,時間久了有些忘了,今天上網又查了下,其實大家說

Http協議請求響應模型(一請求的生命週期或簡單的軟體分層)

場景:登入 1、客戶端發起請求到api介面層 1.1使用者在客戶端填寫使用者名稱和密碼,點選登入,傳送請求 2、api接收到客戶端發起的使用者請求 2.1 api對業務邏輯進行驗證 2.1.1 驗證使用者名稱和密碼是否合法 比如:使用者名稱要求必須為真實手機號碼   11位

springboot 打war包去掉專案字首 啟動解決

springboot專案打成war包 去掉字首放置在tomcat  webapps下面,啟動的時候會載入兩次,可以通過修改tomcat的預設啟動路徑 1. tomcat 去掉字首 的方法    server.xml裡面host節點增加 藍色部分   <Host n

引入zepto後,用tap事件,為什麼有時候觸發,找不到根本原因??

1原因及解決方案最新版Chrome綁定了三個事件touchend MSPointerUp pointerup,touchend是觸控相關的事件,MSPointerUp 是ie10的觸控事件,pointerup是指標事件。可能是以前的chrome不支援pointerup事件,現

配置了 Spring AOP 但呼叫的問題解決方法

1 發現問題 專案配置了 Spring AOP,但會被呼叫兩次: 開始 before() [2017-07-26 11:10:18.071] [INFO]:[com.deniro.jail.service.sys.SysLogAspect][log] [