最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決vue axios跨域 Request Method: OPTIONS問題(預(yù)檢請求)

 更新時間:2020年08月14日 14:30:15   作者:曲昶光  
這篇文章主要介紹了解決vue axios跨域 Request Method: OPTIONS問題(預(yù)檢請求),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我們在vue開發(fā)中用axios進(jìn)行跨域請求時有時會遇到,同一個接口請求了兩次,并且第一次都是options請求,然后才是post/get請求

如下圖

options請求

get請求

為什么會出現(xiàn)這種原因呢?

這是因為CORS跨域分為 簡單跨域請求和復(fù)雜跨域請求;

簡單跨域不會發(fā)送options請求,復(fù)雜跨域會發(fā)送一個預(yù)檢請求options。

1.簡單跨域滿足的條件

1.請求方式是以下三種之一:

HEAD

GET

POST

2.HTTP的頭信息不超出以下幾種字段

Accept

Accept-Language

Content-Language

Last-Event-ID

Content-Type

但是Content-Type的值,只限于三個值:

application/x-www-form-urlencoded、multipart/form-data、text/plain

2.復(fù)雜跨域滿足的條件

1.請求方法不是GET/HEAD/POST

2. post請求的Content-Type并非application/x-www-form-urlencoded, multipart/form-data, 或text/plain

3.請求設(shè)置了自定義的header字段

在header中自定義了字段就會觸發(fā)options預(yù)檢請求

// 請求攔截器
service.interceptors.request.use(
 config => {
 if (store.getters.token) {
 config.headers['Content-MD5'] = 'MD5'
 config.headers['authToken'] = getToken()
 config.headers['accessTokenRetireTime'] = getTokenTime()
 }

 return config
 },
 error => {
 console.log(error) // for debug
 return Promise.reject(error)
 }
)

3.解決方案

1.可以通過跟后端協(xié)調(diào),將所有options放行,此時便能通過post/get請求訪問到數(shù)據(jù)。

2.引入qs模塊處理數(shù)據(jù)

qs.parse()將URL解析成對象的形式

qs.stringify()將對象 序列化成URL的形式,以&進(jìn)行拼接

1.安裝qs

npm install qs

2.在main.js引入qs

import qs from 'qs';

Vue.prototype.$qs = qs;

3.vue實例組件里都可以直接用this.$qs.stringify(要處理的數(shù)據(jù)),進(jìn)行數(shù)據(jù)轉(zhuǎn)換

個人傾向第一種方法,如果用第二種方法對前后端來說比較繁瑣。

補充知識:vue當(dāng)中axios調(diào)取后臺數(shù)據(jù) 以及設(shè)置自定義請求頭

從vue2.0開始vue-resource就不再維護(hù)了,尤大大開始推薦使用 axios。 具體詳細(xì)教程可在官網(wǎng)查閱,這篇文章主要說明一些簡單的問題。

第一步:安裝axios

$ npm install axios

第二步:在 main.js中引入axios

第三步:設(shè)置我們自定義的 頭請求;

header也可以在我們具體的請求中添加 header參數(shù),我們這里是在main.js中添加公眾的。

axios.defaults.timeout = 5000;

//請求超時的時間設(shè)定

axios.defaults.headers.post['Content-Type'] = 'application/json';

//axios默認(rèn)的請求方式,可以自己設(shè)置

axios.defaults.baseURL = 'http://localhost:8008';

//axios默認(rèn)的請求地址,開發(fā)時可以實際的接口地址來設(shè)置該值,去請求別人的接口(前提是后臺已經(jīng)幫你解決了接口的跨域問題,如果沒有,請看下文,我們自己可以解決開發(fā)跨域的問題)

axios.defaults.headers.common["token"] = "aaaaaaaaaaa";

這塊token呢是因為當(dāng)初調(diào)試接口的時候 有些接口必須登錄才可以調(diào)用,而我們的登陸注冊并未寫好,因此 后臺給了一個故固定的token,然后寫在了頭里面。

以上這篇解決vue axios跨域 Request Method: OPTIONS問題(預(yù)檢請求)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 通過Element ui往頁面上加一個分頁導(dǎo)航條的方法

    通過Element ui往頁面上加一個分頁導(dǎo)航條的方法

    這篇文章主要介紹了通過Element ui往頁面上加一個分頁導(dǎo)航條的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • vue實現(xiàn)彈窗引用另一個頁面窗口

    vue實現(xiàn)彈窗引用另一個頁面窗口

    這篇文章主要介紹了vue實現(xiàn)彈窗引用另一個頁面窗口,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 詳解基于vue-cli配置移動端自適應(yīng)

    詳解基于vue-cli配置移動端自適應(yīng)

    本篇文章主要介紹了詳解基于vue-cli配置移動端自適應(yīng),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Vue2純前端實現(xiàn)文字流式輸出效果

    Vue2純前端實現(xiàn)文字流式輸出效果

    這篇文章主要為大家詳細(xì)介紹了Vue2純前端實現(xiàn)像chatGpt和Deepseek那樣的文字流式輸出效果的相關(guān)知識,文中的示例代碼講解詳細(xì),有需要的可以了解下
    2025-03-03
  • vue使用router-view調(diào)用頁面方式

    vue使用router-view調(diào)用頁面方式

    這篇文章主要介紹了vue使用router-view調(diào)用頁面方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vuejs2.0實現(xiàn)分頁組件使用$emit進(jìn)行事件監(jiān)聽數(shù)據(jù)傳遞的方法

    vuejs2.0實現(xiàn)分頁組件使用$emit進(jìn)行事件監(jiān)聽數(shù)據(jù)傳遞的方法

    這篇文章主要介紹了vuejs2.0實現(xiàn)分頁組件使用$emit進(jìn)行事件監(jiān)聽數(shù)據(jù)傳遞的方法,非常不錯,具有參考借鑒價值,,需要的朋友可以參考下
    2017-02-02
  • 在Vue中使用防抖與節(jié)流,及this指向的問題

    在Vue中使用防抖與節(jié)流,及this指向的問題

    這篇文章主要介紹了在Vue中使用防抖與節(jié)流,及this指向的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • element表格變化后自動刷新的兩種方案

    element表格變化后自動刷新的兩種方案

    本文主要介紹了element表格變化后自動刷新的兩種方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • vue項目環(huán)境搭建

    vue項目環(huán)境搭建

    這篇文章介紹了vue項目環(huán)境搭建的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • van-picker組件default-index屬性設(shè)置不生效踩坑及解決

    van-picker組件default-index屬性設(shè)置不生效踩坑及解決

    這篇文章主要介紹了van-picker組件default-index屬性設(shè)置不生效踩坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評論

通海县| 双城市| 灯塔市| 富宁县| 东至县| 敦化市| 新野县| 渑池县| 区。| 宾川县| 竹北市| 石台县| 福州市| 巴林左旗| 千阳县| 霍林郭勒市| 临西县| 宜兰县| 比如县| 株洲县| 汕头市| 白朗县| 称多县| 会宁县| 平泉县| 定兴县| 岳西县| 长宁区| 淳安县| 磴口县| 定西市| 武川县| 宁乡县| 浦北县| 景东| 平度市| 栖霞市| 山西省| 佳木斯市| 阿拉善右旗| 怀集县|