Vue3 结合 .NetCore WebApi 前后端分离跨域请求简易实例

news/2025/2/2 8:37:02/

1、本地安装Vue3环境

参考:VUE3中文文档-快速上手

注意:初始安装vue时,需要安装router,否则后续也要安装

2、安装axios组件

比如:npm install axios@latest pnpm install axios@latest

3、设置跨域请求代理

打开vue3项目根目录的 vite.config.js文件,插入跨域请求设置

这样实现的效果,假设你的前端域名是 http://localhost:8088

那么你访问 http://localhost:8088/api/hello 等于访问 http://localhost:5153/api/hello

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'export default defineConfig({plugins: [vue(),vueDevTools(),],//跨越请求代理设置server:{proxy: {'/api': {target: 'http://localhost:5153',changeOrigin: true,}
},},resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))},},
})

4、后端.Net Core Webapi 接口返回JSON

using Microsoft.AspNetCore.Mvc;
using MyProj.Models;
using System.Text.Json;
namespace MyProj.Controllers
{[Route("api/login")][ApiController]public class LoginController : ControllerBase{[HttpGet]public JsonResult Get(string pms){//自定义Model,含2个属性。先初始化Rmessage r1 = new Rmessage("hello", "no data");//根据接口请求的参数值判断处理if(pms=="001"){r1.message = "right";}else{r1.message = "wrong";}//把最终的Rmessage实例JSON化返回return new JsonResult(r1);}}
}

5、Vue3前端发送请求,接收返回值

import { ref } from 'vue'
import axios from 'axios'let message = ref('please impress the button')//按钮单击函数
function getApiData() {//axios触发GET请求,传递pms参数axios.get('api/login',{params: {pms:'001'}}).then(response => {//因为返回的是JSON,所以可以response.data直接读取message的值message.value = response.data.message}).catch(error => {console.log(error)})
}


http://www.ppmy.cn/news/1568647.html

相关文章

【玩转全栈】----Django模板的继承

先赞后看,养成习惯!!! 目录 模板继承的好处 模板继承的语法规则 更新代码 上文中的部门管理页面: 【玩转全栈】----Django制作部门管理页面-CSDN博客 大家会发现,由于定义了多个html文件,多个ht…

【精选】基于数据挖掘的招聘信息分析与市场需求预测系统 职位分析、求职者趋势分析 职位匹配、人才趋势、市场需求分析数据挖掘技术 职位需求分析、人才市场趋势预测

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

青少年编程与数学 02-008 Pyhon语言编程基础 09课题、布尔与判断语句

青少年编程与数学 02-008 Pyhon语言编程基础 09课题、布尔与判断语句 一、布尔类型特点布尔运算符布尔函数应用场景 二、条件语句基本if语句if-elif-else语句示例条件表达式逻辑运算符嵌套if语句单行if语句 三、练习 课题摘要:本文介绍了Python中的布尔类型和条件语句。布尔类型…

Excel制作合同到期自动提醒!

大家好,我是小鱼。 今天分享一下如何利用Excel制作合同到期提醒表,实现Excel表格自动计算合同到期日和天数,根据合同状态和到期天数自动填充颜色提醒,超实用。先看一下效果,已经到期的合同会自动被填充为红色&#xf…

MySQL(高级特性篇) 14 章——MySQL事务日志

事务有4种特性:原子性、一致性、隔离性和持久性 事务的隔离性由锁机制实现事务的原子性、一致性和持久性由事务的redo日志和undo日志来保证(1)REDO LOG称为重做日志,用来保证事务的持久性(2)UNDO LOG称为回…

PHP中配置 variables_order详解

variables_order 是 PHP 配置文件 php.ini 中的一项配置指令,决定了 PHP 在处理请求时,哪些类型的变量将被注册到全局变量空间(如 $GLOBALS)中,以及这些变量的顺序。理解和正确配置 variables_order 对于开发和维护安全…

Python爬虫:requests模块深入及案例

* [案例二:输入单词获取百度翻译的结果](about:blank#_40)* [案例三:获取豆瓣电影的评分前几名的电影信息](about:blank#_87)* [案例四:通过在药监局网站中的企业id值获取企业信息](about:blank#id_121)案例一:获取CSDN关键…

如何写美赛(MCM/ICM)论文中的Summary部分

美赛(MCM/ICM)作为一个数学建模竞赛,要求参赛者在有限的时间内解决一个复杂的实际问题,并通过数学建模、数据分析和计算机模拟等手段给出有效的解决方案。在美赛的论文中,Summary部分(通常也称为摘要)是非常关键的,它是整个论文的缩影,能让评审快速了解你解决问题的思…