中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在react中使用axios 跨域訪問一個或多個域名

發布時間:2021-06-06 12:43:04 來源:億速云 閱讀:679 作者:Leah 欄目:web開發

這篇文章將為大家詳細講解有關怎么在react中使用axios 跨域訪問一個或多個域名,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1.react + axios 跨域訪問一個域名

配置非常簡單,只需要在當前的 package.json 文件里面配置:

"proxy":"http://iot-demo-web-dev.autel.com", //當然,這里是一個假地址

像這樣:

怎么在react中使用axios 跨域訪問一個或多個域名

這樣跨域便完成了,當然,也可以像網上那樣,多幾段代碼,像這樣:

怎么在react中使用axios 跨域訪問一個或多個域名

我不知道你們寫入這段代碼會怎么樣,反正我是會報錯,具體報錯是怎么我這里沒辦法展示,因為我的項目已經 運行了 npm run eject 這個命令

報錯的意思大概就是 proxy 希望得到的是一個字符串,而現在得到的是一個對象,所已我只能采取 第一張圖片的方法進行跨域

而后我們安裝axios ,當然,其他的也行,在 src 目錄項目建一個 api文件, 再在api文件里面建一個 user.js 寫上下面這段代碼

import axios from 'axios'

export function _user(data) {
 return axios.get('device/detail', data)
}

我這里的跨域使用的是第一張圖片上的那種跨域

在你需要發送請求的地方寫上以下代碼:

import { _user } from '../api/user'

 componentDidMount() {
 let res = _user({})
 console.log(res)
 }

接下來咱們就能愉快的獲得后臺給我們的數據了

上面的那種跨域呢,可以說是非常方便,但是吧,如果后臺給我們兩個甚至三個不同的域名呢   怎么辦,那我們就得使用插件

2.react +axios 跨域訪問多個域名

安裝插件:npm install --save http-proxy-middleware

安裝好了之后咱們是開始配置啦:

1.首先暫時運行命令將配置暴露出來

npm run eject
or
yarn eject

在這里你可能會遇到一個報錯:

怎么在react中使用axios 跨域訪問一個或多個域名

那這個時候你可以將報錯百度一下,或者跟著我繼續操作

報錯的原因呢是因為咱們在使用腳手架搭建 react 時,系統會自動給我們添加一個 .gitignore 文件,如果你沒有提交到倉庫過,你就需要先提交到倉庫

怎么在react中使用axios 跨域訪問一個或多個域名

完成這兩步之后就可以繼續 命名 npm run eject ,等配置文件暴露完成之后,你的 package.json 可能非常多配置,咱們不用管,在 src 下面建一個 setupProxy.js 在里面寫上下面代碼:

const { createProxyMiddleware } = require('http-proxy-middleware')
module.exports = function (app) {
 app.use(
 createProxyMiddleware('/api', {
  target: 'http://iot-demo-web-server-dev.autel.com',
  changeOrigin: true,
 })
 )
 app.use(
 '/sys',
  createProxyMiddleware({
  target: 'http://localhost:5001',
  changeOrigin: true,
 })
 );
}

找到 scripts 路徑 打開 strat.js

怎么在react中使用axios 跨域訪問一個或多個域名

在第 117行左右 協商下面代碼:

require('../src/setupProxy')(devServer) //注意路徑是否正,是你剛才建的那個文件

怎么在react中使用axios 跨域訪問一個或多個域名

如此 多個跨域便成功了,值得注意的就是, 需要在你請求的具體路徑前面加上 api 或 sys 像這樣

怎么在react中使用axios 跨域訪問一個或多個域名

關于怎么在react中使用axios 跨域訪問一個或多個域名就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉寿县| 禹城市| 石楼县| 通渭县| 华坪县| 扎赉特旗| 镶黄旗| 电白县| 沈阳市| 民县| 雅江县| 贵德县| 南丹县| 宣汉县| 高州市| 丰县| 和平区| 华宁县| 邵阳市| 深泽县| 惠水县| 达拉特旗| 江川县| 静乐县| 资源县| 长阳| 湖口县| 自贡市| 斗六市| 昌黎县| 三门峡市| 镇远县| 昂仁县| 永嘉县| 蕲春县| 南充市| 横山县| 鹤庆县| 贵阳市| 祁阳县| 原阳县|