欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

我們?cè)趘ue開發(fā)中用axios進(jìn)行跨域請(qǐng)求時(shí)有時(shí)會(huì)遇到,同一個(gè)接口請(qǐng)求了兩次,并且第一次都是options請(qǐng)求,然后才是post/get請(qǐng)求

如下圖

options請(qǐng)求

get請(qǐng)求

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

這是因?yàn)镃ORS跨域分為 簡單跨域請(qǐng)求和復(fù)雜跨域請(qǐng)求;

簡單跨域不會(huì)發(fā)送options請(qǐng)求,復(fù)雜跨域會(huì)發(fā)送一個(gè)預(yù)檢請(qǐng)求options。

1.簡單跨域滿足的條件

1.請(qǐng)求方式是以下三種之一:

HEAD

GET

POST

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

Accept

Accept-Language

Content-Language

Last-Event-ID

Content-Type

但是Content-Type的值,只限于三個(gè)值:

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

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

1.請(qǐng)求方法不是GET/HEAD/POST

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

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

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

// 請(qǐng)求攔截器
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放行,此時(shí)便能通過post/get請(qǐng)求訪問到數(shù)據(jù)。

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

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

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

1.安裝qs

npm install qs

2.在main.js引入qs

import qs from 'qs';

Vue.prototype.$qs = qs;

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

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

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

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

第一步:安裝axios

$ npm install axios

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

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

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

axios.defaults.timeout = 5000;

//請(qǐng)求超時(shí)的時(shí)間設(shè)定

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

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

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

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

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

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

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

相關(guān)文章

  • vue @click與@click.native,及vue事件機(jī)制的使用分析

    vue @click與@click.native,及vue事件機(jī)制的使用分析

    這篇文章主要介紹了vue @click與@click.native,及vue事件機(jī)制的使用分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue全局方法plugins/utils的實(shí)現(xiàn)示例

    vue全局方法plugins/utils的實(shí)現(xiàn)示例

    很多時(shí)候我們會(huì)在全局調(diào)用一些方法,本文主要介紹了vue全局方法plugins/utils的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • ant design vue datepicker日期選擇器中文化操作

    ant design vue datepicker日期選擇器中文化操作

    這篇文章主要介紹了ant design vue datepicker日期選擇器中文化操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 詳解vantUI框架在vue項(xiàng)目中的應(yīng)用踩坑

    詳解vantUI框架在vue項(xiàng)目中的應(yīng)用踩坑

    這篇文章主要介紹了詳解vantUI框架在vue項(xiàng)目中的應(yīng)用踩坑,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • Vue 3.0x中的Suspense和異步組件詳解

    Vue 3.0x中的Suspense和異步組件詳解

    這篇文章主要介紹了Vue 3.0x中的Suspense和異步組件,我們將討論新的defineAsyncComponent函數(shù),以及如何利用Suspense組件來更好地處理異步組件的加載和顯示,需要的朋友可以參考下
    2023-08-08
  • vue跳轉(zhuǎn)到詳情頁的兩種實(shí)現(xiàn)方法

    vue跳轉(zhuǎn)到詳情頁的兩種實(shí)現(xiàn)方法

    最近接觸了vue項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于vue跳轉(zhuǎn)到詳情頁的兩種實(shí)現(xiàn)方法,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-06-06
  • vue-cli3項(xiàng)目升級(jí)到vue-cli4 的方法總結(jié)

    vue-cli3項(xiàng)目升級(jí)到vue-cli4 的方法總結(jié)

    這篇文章主要介紹了vue-cli3項(xiàng)目升級(jí)到vue-cli4 的方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 詳解在Vue中如何實(shí)現(xiàn)表單圖片裁剪與預(yù)覽

    詳解在Vue中如何實(shí)現(xiàn)表單圖片裁剪與預(yù)覽

    在前端開發(fā)中,表單提交是一個(gè)常見的操作,有時(shí)候,我們需要上傳圖片,但是上傳的圖片可能會(huì)非常大,這會(huì)增加服務(wù)器的負(fù)擔(dān),同時(shí)也會(huì)降低用戶的體驗(yàn),因此,我們通常需要對(duì)上傳的圖片進(jìn)行裁剪和預(yù)覽,本文主要給大家介紹如何在Vue中進(jìn)行表單圖片裁剪與預(yù)覽
    2023-06-06
  • vue elementui表格獲取某行數(shù)據(jù)(slot-scope和selection-change方法使用)

    vue elementui表格獲取某行數(shù)據(jù)(slot-scope和selection-change方法使用)

    這篇文章主要介紹了vue elementui表格獲取某行數(shù)據(jù)(slot-scope和selection-change方法使用),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • 一看就會(huì)的vuex實(shí)現(xiàn)登錄驗(yàn)證(附案例)

    一看就會(huì)的vuex實(shí)現(xiàn)登錄驗(yàn)證(附案例)

    這篇文章主要介紹了一看就會(huì)的vuex實(shí)現(xiàn)登錄驗(yàn)證(附案例),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01

最新評(píng)論