前端到底怎么调用后端服务的?什么是Vue?怎么调用C#写的后端!

本文介绍了前端如何使用Vue.js和axios调用C#编写的后端服务。通过示例代码展示了如何配置和发起POST请求,以及如何处理返回的JSON数据。读者将了解到Vue.js的基本应用和前后端交互的原理。
摘要由CSDN通过智能技术生成

扫码_搜索联合传播样式-白色版.png

前言

    前端的概念很广,可以直观上理解为直接呈现给用户的网页部分,前端的实现涉及多种编程技术或语言,如HTML、CSS、JavaScript、Vue.js、ajax等,它们只需要一个浏览器即可运行。但是有时候前端网页需要的某些功能不好直接在前台(浏览器)中实现,这时候需要借助某种后端编程语言如Java、Python、PHP、C#等,可以在本地服务器上编写代码实现该功能,然后作为一种服务提交给前端进行调用。那么问题来了,前端究竟是怎么调用后端服务的呢?和我一起来一探究竟吧!

正文

1. 工具准备

   你至少需要一个Chrome浏览器(用于页面调试),一个集成开发环境(IDE),对于IDE可以用如Visual Studio Code(用于文本编辑)。此外我们需要一个前端框架(如Vue)和一个后端服务地址。下面简要说明一下Vue与本文用到的后端服务地址:

   Vue是目前最流行的前端框架之一,axios是Vue中用来与后端交互的工具(类似于ajax,一种前后端交互工具)。简单来说,通过axios可以向服务器发送索要数据的请求,服务器接收到请求后即会将数据返回给前台(浏览器)。这也是本文采用的前端工具。不用太担心,本文不会涉及太多Vue知识,调用Vue.js和axios也十分简单,仅需要两行代码的引用。

    本文使用的后端服务是用C#编写的,我们暂时不用管具体的C#代码以及它是如何发布服务的(后面我会再写一篇文章详细阐述如何利用将C#编写的代码发布成一个服务供前端调用)。现在你只需要知道我们发布的服务在哪里,叫什么名字即可。

    不论是用什么语言发布的后端服务,最后都是返回一个网址,前端程序员拿着这个网址,然后输入一些参数即可调用后端服务。现在我写的这个Web服

  • 8
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue3 + Vite项目中使用WebSocket可以通过`WebSocket`对象来实现,WebSocket的地址需要填后端的WebSocket服务地址。你可以在Vue的组件中使用WebSocket对象,示例代码如下: ```javascript // 创建WebSocket对象,使用后端WebSocket服务地址 const socket = new WebSocket('ws://localhost:5000/ws'); // 监听WebSocket的打开事件 socket.addEventListener('open', (event) => { console.log('WebSocket已连接'); }); // 监听WebSocket的消息事件 socket.addEventListener('message', (event) => { console.log('接收到消息:', event.data); }); // 监听WebSocket的关闭事件 socket.addEventListener('close', (event) => { console.log('WebSocket已关闭'); }); // 发送消息 socket.send('Hello WebSocket!'); ``` 在C# asp.net core后端中,可以使用`Microsoft.AspNetCore.WebSockets`包来实现WebSocket服务。示例代码如下: ```csharp // 添加WebSocket中间件 app.UseWebSockets(); // 注册WebSocket处理器 app.Use(async (context, next) => { if (context.WebSockets.IsWebSocketRequest) { WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync(); // 处理WebSocket消息 await HandleWebSocketAsync(webSocket); } else { await next(); } }); // 处理WebSocket消息的方法 async Task HandleWebSocketAsync(WebSocket webSocket) { byte[] buffer = new byte[1024 * 4]; WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); while (!result.CloseStatus.HasValue) { // 处理WebSocket消息 string message = Encoding.UTF8.GetString(buffer, 0, result.Count); Console.WriteLine($"接收到消息:{message}"); // 发送WebSocket消息 byte[] messageBytes = Encoding.UTF8.GetBytes($"Echo: {message}"); await webSocket.SendAsync(new ArraySegment<byte>(messageBytes), WebSocketMessageType.Text, true, CancellationToken.None); // 继续接收WebSocket消息 result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); } // 关闭WebSocket连接 await webSocket.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None); } ``` 注意:在使用WebSocket时,需要确保后端WebSocket服务地址正确,且前后端的WebSocket协议一致。例如,如果前端使用的是`ws`协议,则后端也需要使用`ws`协议;如果前端使用的是`wss`协议,则后端也需要使用`wss`协议。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值