react axios 跨域訪問一個(gè)或多個(gè)域名問題
1.react + axios 跨域訪問一個(gè)域名
配置非常簡單,只需要在當(dāng)前的 package.json 文件里面配置:
像這樣:
這樣跨域便完成了,當(dāng)然,也可以像網(wǎng)上那樣,多幾段代碼,像這樣:
我不知道你們寫入這段代碼會(huì)怎么樣,反正我是會(huì)報(bào)錯(cuò),具體報(bào)錯(cuò)是怎么我這里沒辦法展示,因?yàn)槲业捻?xiàng)目已經(jīng) 運(yùn)行了 npm run eject
這個(gè)命令
報(bào)錯(cuò)的意思大概就是 proxy 希望得到的是一個(gè)字符串,而現(xiàn)在得到的是一個(gè)對(duì)象,所已我只能采取 第一張圖片的方法進(jìn)行跨域
而后我們安裝axios ,當(dāng)然,其他的也行,在 src 目錄項(xiàng)目建一個(gè) api文件, 再在api文件里面建一個(gè) user.js 寫上下面這段代碼
import axios from 'axios' export function _user(data) { return axios.get('device/detail', data) }
我這里的跨域使用的是第一張圖片上的那種跨域
在你需要發(fā)送請(qǐng)求的地方寫上以下代碼:
import { _user } from '../api/user' componentDidMount() { let res = _user({}) console.log(res) }
接下來咱們就能愉快的獲得后臺(tái)給我們的數(shù)據(jù)了
上面的那種跨域呢,可以說是非常方便,但是吧,如果后臺(tái)給我們兩個(gè)甚至三個(gè)不同的域名呢 怎么辦,那我們就得使用插件
2.react +axios 跨域訪問多個(gè)域名
安裝插件:npm install --save http-proxy-middleware
安裝好了之后咱們是開始配置啦:
1.首先暫時(shí)運(yùn)行命令將配置暴露出來
npm run eject or yarn eject
在這里你可能會(huì)遇到一個(gè)報(bào)錯(cuò):
那這個(gè)時(shí)候你可以將報(bào)錯(cuò)百度一下,或者跟著我繼續(xù)操作
報(bào)錯(cuò)的原因呢是因?yàn)樵蹅冊(cè)谑褂媚_手架搭建 react 時(shí),系統(tǒng)會(huì)自動(dòng)給我們添加一個(gè) .gitignore 文件,如果你沒有提交到倉庫過,你就需要先提交到倉庫
完成這兩步之后就可以繼續(xù) 命名 npm run eject
,等配置文件暴露完成之后,你的 package.json
可能非常多配置,咱們不用管,在 src 下面建一個(gè) 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
在第 117行左右 協(xié)商下面代碼:
require('../src/setupProxy')(devServer) //注意路徑是否正,是你剛才建的那個(gè)文件
如此 多個(gè)跨域便成功了,值得注意的就是, 需要在你請(qǐng)求的具體路徑前面加上 api 或 sys 像這樣
總結(jié)
到此這篇關(guān)于react axios 跨域訪問一個(gè)或多個(gè)域名的文章就介紹到這了,更多相關(guān)react axios 跨域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ajax讀取數(shù)據(jù)之分頁顯示篇實(shí)現(xiàn)代碼
前幾篇的ajax教程里講了,讀取,添加,修改,刪除的功能.有幾天沒有更新了,雖然網(wǎng)上也有很多ajax分頁的教程和相關(guān)實(shí)例.2010-10-10關(guān)于JavaScript跨域問題及實(shí)時(shí)刷新解決方案
在頁面顯示其他網(wǎng)站上面的數(shù)據(jù),需要用Ajax,就涉及到跨域問題,下面有個(gè)示例,大家可以看看2014-06-06ajax數(shù)據(jù)返回進(jìn)行遍歷的實(shí)例講解
今天小編就為大家分享一篇ajax數(shù)據(jù)返回進(jìn)行遍歷的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08ajax異步回調(diào)函數(shù)中給外部變量賦值的問題探討
ajax異步回調(diào)函數(shù)中給外部變量賦值的問題在本文將為大家詳細(xì)探討下,感興趣的朋友可以參考下2013-09-09Ajax 無刷新在注冊(cè)用戶名時(shí)的應(yīng)用的代碼
Ajax 無刷新在注冊(cè)用戶名時(shí)的應(yīng)用的代碼...2007-04-04ajax實(shí)現(xiàn)數(shù)據(jù)分頁查詢
這篇文章主要為大家詳細(xì)介紹了ajax實(shí)現(xiàn)數(shù)據(jù)分頁查詢的相關(guān)資料,以及ajax實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的查詢,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02AJAX請(qǐng)求是否真的不安全?談一談Web安全與AJAX的關(guān)系
Ajax中沒有固有的安全漏洞,但是對(duì)該技術(shù)向量的適配顯著地改變了網(wǎng)絡(luò)應(yīng)用的開發(fā)途徑以及方法論。AJAX請(qǐng)求的安全性是大家經(jīng)常會(huì)談?wù)摰囊粋€(gè)話題,AJAX請(qǐng)求是否真的不安全?下面這篇文章就來給大家詳細(xì)談一談Web安全與AJAX關(guān)系的相關(guān)資料,需要的朋友可以參考下。2018-01-01ASP+AJAX+ACCESS數(shù)據(jù)庫實(shí)例講解三個(gè)步驟分享
其實(shí)說起AJAX的初級(jí)應(yīng)用是非常簡單的,通俗的說就是客戶端(javascript)與服務(wù)端(asp或php等)腳本語言的數(shù)據(jù)交互2012-07-07Ajax實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單
這篇文章主要為大家詳細(xì)介紹了Ajax實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11