国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

react axios 跨域訪(fǎng)問(wèn)一個(gè)或多個(gè)域名問(wèn)題

瀏覽:476日期:2022-06-11 17:07:01

1.react + axios 跨域訪(fǎng)問(wèn)一個(gè)域名

配置非常簡(jiǎn)單,只需要在當(dāng)前的 package.json 文件里面配置:

"proxy":"http://iot-demo-web-dev.autel.com", //當(dāng)然,這里是一個(gè)假地址

像這樣:

這樣跨域便完成了,當(dāng)然,也可以像網(wǎng)上那樣,多幾段代碼,像這樣:

我不知道你們寫(xiě)入這段代碼會(huì)怎么樣,反正我是會(huì)報(bào)錯(cuò),具體報(bào)錯(cuò)是怎么我這里沒(méi)辦法展示,因?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 寫(xiě)上下面這段代碼

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

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

在你需要發(fā)送請(qǐng)求的地方寫(xiě)上以下代碼:

import { _user } from "../api/user" componentDidMount() { let res = _user({}) console.log(res) }

接下來(lái)咱們就能愉快的獲得后臺(tái)給我們的數(shù)據(jù)了

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

2.react +axios 跨域訪(fǎng)問(wèn)多個(gè)域名

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

安裝好了之后咱們是開(kāi)始配置啦:

1.首先暫時(shí)運(yùn)行命令將配置暴露出來(lái)

npm run ejectoryarn 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 文件,如果你沒(méi)有提交到倉(cāng)庫(kù)過(guò),你就需要先提交到倉(cāng)庫(kù)

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

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 路徑 打開(kāi) strat.js

在第 117行左右 協(xié)商下面代碼:

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

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

總結(jié)

到此這篇關(guān)于react axios 跨域訪(fǎng)問(wèn)一個(gè)或多個(gè)域名的文章就介紹到這了,更多相關(guān)react axios 跨域內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: Ajax
相關(guān)文章:
主站蜘蛛池模板: 沁水县| 仙居县| 孟连| 昭通市| 广南县| 邓州市| 桐庐县| 洛南县| 伊金霍洛旗| 凌云县| 吉安县| 晋州市| 海盐县| 贡嘎县| 循化| 汽车| 乐亭县| 公主岭市| 铜山县| 高青县| 五河县| 合肥市| 密山市| 麻阳| 怀集县| 新巴尔虎右旗| 通州区| 上杭县| 福贡县| 科尔| 北宁市| 正阳县| 武强县| 两当县| 东乌珠穆沁旗| 荆门市| 隆尧县| 茌平县| 横峰县| 松阳县| 蒲城县|