Maison > Article > interface Web > Comment gérer les requêtes inter-domaines dans les projets Vue
Comment gérer les requêtes inter-domaines dans le projet Vue nécessite des exemples de code spécifiques
Avec le développement rapide du développement front-end, les requêtes inter-domaines sont devenues un problème courant. En raison des restrictions de la même politique d'origine du navigateur, lorsque nous devons envoyer des requêtes à différents noms de domaine ou ports du projet Vue, nous rencontrerons des problèmes inter-domaines. Cet article expliquera comment gérer les requêtes inter-domaines dans le projet Vue et fournira des exemples de code spécifiques.
1. Configurez CORS (partage de ressources inter-domaines) sur le backend
Sur le serveur backend, nous pouvons autoriser les requêtes inter-domaines en définissant CORS. En prenant ici le framework Express de Node.js comme exemple, vous pouvez utiliser le middleware cors pour configurer CORS.
npm install cors --save
const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors({ origin: 'http://localhost:8080', // 允许访问的源地址 credentials: true // 允许发送cookie })); // 其他后端逻辑
Dans le code ci-dessus, origin
précise autorisé accès L'adresse source est définie sur http://localhost:8080
Vous pouvez la modifier en fonction de la situation réelle. credentials
Spécifie s'il faut autoriser l'envoi de cookies, qui peuvent être définis en fonction des besoins du projet. origin
指定了允许访问的源地址,这里设置为http://localhost:8080
,你可以根据实际情况修改。credentials
指定是否允许发送cookie,可以根据项目需要进行设置。
二、前端项目配置
在Vue项目中,可以通过配置proxyTable实现跨域请求。在config目录下的index.js文件中,可以找到如下代码:
module.exports = { // ... dev: { // ... proxyTable: { // 代理示例 '/api': { target: 'http://localhost:3000', // 接口的域名 changeOrigin: true, // 允许跨域 pathRewrite: { '^/api': '' } } } } }
以上代码中,我们通过proxyTable配置了一个代理,在访问/api
开头的接口时,会代理到http:/localhost:3000
。配置中的changeOrigin
设置为true
表示允许跨域。
三、在Vue组件中发送跨域请求
在Vue组件中,可以直接使用axios或者fetch等工具发送跨域请求。
npm install axios --save
import axios from 'axios'; // ... export default { // ... methods: { fetchData() { axios.get('/api/data') .then(response => { // 处理响应数据 }) .catch(error => { // 处理错误 }); } } }
以上代码中,我们通过axios发送了一个GET请求到/api/data
。在vue-cli生成的项目中,由于proxyTable的配置,实际请求会被代理到http://localhost:3000/data
rrreee
Dans le code ci-dessus, nous configurons un proxy via proxyTable En accédant à l'interface commençant par/api
, le. le proxy sera http://localhost:3000
. changeOrigin
dans la configuration est défini sur true
pour autoriser l'inter-domaine. 3. Envoyez des requêtes inter-domaines dans le composant Vue🎜🎜Dans le composant Vue, vous pouvez directement utiliser des outils tels que axios ou fetch pour envoyer des requêtes inter-domaines. 🎜🎜🎜Tout d'abord, installez axios : 🎜🎜rrreee🎜🎜Introduisez axios dans le composant Vue qui doit envoyer des requêtes inter-domaines : 🎜🎜rrreee🎜Dans le code ci-dessus, nous avons envoyé une requête GET à /api/data via axios
. Dans le projet généré par vue-cli, en raison de la configuration de proxyTable, la requête réelle sera transmise par proxy à http://localhost:3000/data
. 🎜🎜En plus d'axios, vous pouvez également utiliser des outils tels que fetch pour envoyer des requêtes inter-domaines. L'utilisation spécifique est similaire. 🎜🎜Résumé🎜🎜Cet article explique comment gérer les requêtes inter-domaines dans le projet Vue et fournit des exemples de code spécifiques. En définissant CORS sur le backend et en configurant le projet front-end, nous pouvons facilement résoudre le problème des requêtes inter-domaines. Dans le processus de développement actuel, nous devons le configurer en conséquence en fonction des conditions spécifiques du projet pour garantir que la demande peut envoyer et recevoir des données normalement. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!