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

server/2025/2/4 7:33:14/

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/server/164830.html

相关文章

Java程序设计:掌握核心语法与经典案例

一、引言 Java作为一种广泛使用的编程语言,以其简洁、高效、跨平台等特性深受开发者喜爱。掌握Java的核心语法是成为一名优秀Java程序员的基础。本文将从Java的基本语法入手,逐步深入到经典案例的分析,帮助读者快速掌握Java程序设计的关键要…

A7. Jenkins Pipeline自动化构建过程,可灵活配置多项目、多模块服务实战

服务容器化构建的环境配置构建前需要解决什么下面我们带着问题分析构建的过程:1. 如何解决jenkins执行环境与shell脚本执行环境不一致问题?2. 构建之前动态修改项目的环境变量3. 在通过容器打包时避免不了会产生比较多的不可用的镜像资源,这些资源要是不及时删除掉时会导致服…

高项第五章第一节——信息系统工程之软件工程

5_1 软件工程 软件工程(Software Engineering),是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。 架构设计:软件架构为软件系统提供了一个结构、行为和属性的高级抽象 架构设…

bat脚本实现自动化漏洞挖掘

bat脚本 BAT脚本是一种批处理文件,可以在Windows操作系统中自动执行一系列命令。它们可以简化许多日常任务,如文件操作、系统配置等。 bat脚本执行命令 echo off#下面写要执行的命令 httpx 自动存活探测 echo off httpx.exe -l url.txt -o 0.txt nuc…

【Hadoop】Hadoop 概述

Hadoop 概述 Hadoop 是什么Hadoop 发展历史Hadoop 三大发行版本Hadoop 优势(4 高)Hadoop 组成(面试重点)HDFS 架构概述YARN 架构概述MapReduce 架构概述HDFS、YARN、MapReduce 三者关系 大数据技术生态体系 Hadoop 是什么 Hadoop…

车载软件 --- 大一新生入门汽车零部件嵌入式开发

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…

Linux进阶——例行性工作

一、rhce学习内容: 服务器:拥有特定服务的机器,服务可以服务很多人,用户主动找服务器提供服务,安装特定软件。 web服务:www.baidu.com 软件:httpd,nginx 服务器服务: …

Python线程入门:多线程并发的基础与实践

线程概念 我们在日常开发中经常会听到使用多线程/多进程的方式完成并发任务。那么什么是进程?什么是线程?进程与线程之间有什么关系?接下来我们通过日常场景简单的了解一下进程与线程。 一个工厂,至少有一个车间,一个…