手把手教你用VUE写个例子访问后端WebApi的接口获取数据并显示出来

这篇具有很好参考价值的文章主要介绍了手把手教你用VUE写个例子访问后端WebApi的接口获取数据并显示出来。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文接着上文《手把手叫你用VS2019写个WebApi(可以供网页、手机、电脑三端连接使用)从网页访问后端并在后端通过EF获取sqlserver中的数据》

https://blog.csdn.net/weixin_43935474/article/details/132497256?spm=1001.2014.3001.5501

上文中介绍了如何创建一个WebApi后端接口的例子,现在来写个网页端访问这个后端接口的例子。

开发环境:Visual Studio Code

先打开VS Code,新建终端,在下方终端内先输入

cd E:\WebCode\FirstVueApp\

表示我将在上述路径下创建项目。然后输入

npm create vue@latest

表示我要创建一个vue框架的项目,然后输入项目名,默认叫“vue-project”,也可以在此处输入自己取的项目名称

vue获取后端数据并显示,C#,vue.js,前端,javascript

 然后按下回车,会提示是否添加一些可选功能,我的选择如下:

vue获取后端数据并显示,C#,vue.js,前端,javascript

 然后点击资源管理器(界面左上角第一个菜单),点击“打开文件夹”,打开刚才创建项目的目录E:\WebCode\FirstVueApp\vue-project,即可显示项目相关的文件。

然后在终端输入npm install按下回车,再输入npm run dev按下回车,按住Ctrl键再点击Local:右侧的网址,即可打开浏览器显示这个vue项目的网站显示效果,

如下:

vue获取后端数据并显示,C#,vue.js,前端,javascript

接些来,我们把网站页面上显示的内容改掉,换成从webapi后端访问接口拿到的数据,具体操作如下:

先关闭上述网页,然后在VS Code的终端按下Ctrl+C,结束命令。

然后输入

npm install axios

安装axios,用于访问后端接口。

然后把App.vue文件里面的内容换成如下代码:

<script>
import { ref, onMounted } from 'vue'
import axios from 'axios'
export default {
  setup() {
    const data = ref('')
    const fetchData = async () => {
      try {
        const response = await axios.get('https://localhost:44364/api/GetUserData')
        data.value = response.data
      } catch (error) {
        console.error(error)
      }
    }
    onMounted(() => {
      fetchData()
    })
    return {
      data
    }
  }
}
</script>

<template>
  <div class="greetings">
  <h1>恭喜你与后端webapi链接成功并从后端获取到数如下据:</h1>
  <h1>{{ data }}</h1>
  </div>
</template>

注意:上述axios.get('https://localhost:44364/api/GetUserData')里面的网址是WebApi1项目启动后的服务器网址,你们的可能和我不一样,自己改一下。

然后我们用VS打开前一篇文章里面介绍的WebApi1项目,运行起来,如下图:

vue获取后端数据并显示,C#,vue.js,前端,javascript

 然后回到VS Code,在终端输入npm run dev回车,启动前端。打开Local:右侧的网址,即可如下显示:

vue获取后端数据并显示,C#,vue.js,前端,javascript

可以发现并没有从后端拿到数据!那我们按下F12,再按F5刷新网页,来查看问题,发现访问后端数据的请求被拦截了,如下:

vue获取后端数据并显示,C#,vue.js,前端,javascript

 这是因为当我们用启动前端的时候,vue会自己启动一个端口号是5173的服务器(我的端口是5173,你们的端口可能不是这个,要根据实际情况来看),然后我们的webapi1的服务器端口是44364,那么,前端要访问44364这个端口就是跨域访问,这种情况是被后端禁止的。

解决方法如下:

vue获取后端数据并显示,C#,vue.js,前端,javascript

在WebApi1的Web.config文件的<system.webServer></system.webServer>节点中添加如下代码:

	<httpProtocol>
		<customHeaders>
			<add name="Access-Control-Allow-Origin" value="*" />
			<add name="Access-Control-Allow-Headers" value="Content-Type" />
			<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
		</customHeaders>
	</httpProtocol>

然后重启WebApi1项目,然后刷新前端,即可看到数据:

vue获取后端数据并显示,C#,vue.js,前端,javascript

搞定!

然后现在我觉得显示数据的时候很丑,我想用一个比较好看的表格来显示,可以用element-plus包,这个饿了么开发的网页端组件,很漂亮,具体操作如下:

在终端输入npm install element-plus --save按回车

npm install element-plus --save

然后main.ts文件添加如下代码:

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'


app.use(ElementPlus)

App.vue文件里面的<template>节点改成如下:

<template>
  <div class="greetings">
  <h1>恭喜你与后端webapi链接成功并从后端获取到数如下据:</h1>
  <el-table :data="data" stripe style="width: 100%">
    <el-table-column prop="JobNumber" label="工号" width="180" />
    <el-table-column prop="WorkeName" label="姓名" width="180" />
    <el-table-column prop="Sex" label="性别" />
  </el-table>
  </div>
</template>

然候npm run dev回车,就可以看到下面的效果:

vue获取后端数据并显示,C#,vue.js,前端,javascript文章来源地址https://www.toymoban.com/news/detail-740564.html

到了这里,关于手把手教你用VUE写个例子访问后端WebApi的接口获取数据并显示出来的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手教你用Python编写邮箱脚本引擎

    版权声明:原创不易,本文禁止抄袭、转载需附上链接,侵权必究! 邮箱是传输信息方式之一,个人,企业等都在使用,朋友之间发消息,注册/登录信息验证,订阅邮箱,企业招聘,向客户发送消息等都是邮箱的使用场景;邮箱有两个较重要的协议:SMTP和POP3,均位于OSI7层

    2024年02月06日
    浏览(51)
  • 手把手教你用jmeter做压力测试(详图)

    压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面我带大家来使用一款压力测试工

    2024年02月02日
    浏览(46)
  • 手把手教你用video实现视频播放功能

    哈喽。大家好啊 今天需要做一个视频播放列表,让我想到了video的属性 下面让我们先看看实现效果 这里是我的代码 width是当前播放页面的宽度 height是当前播放页面的高度 Controls属性用就是控制栏那些了 比如播放按钮 暂停按钮 autoplay是指的是自动播放 poster是指的是初始化进

    2024年02月12日
    浏览(50)
  • 手把手教你用 Jenkins 自动部署 SpringBoot

    CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。 CI/CD 的核心概念可以总结为三点: 持续集成 持续交付 持续部署 CI/CD 主要针对在集成新代码时所引发的问题(俗称\\\"集成地狱\\\")。 为什么会有集成地狱这个“雅称”呢?大家想想我们一个项目部署的

    2024年02月02日
    浏览(49)
  • 手把手教你用UNet做医学图像分割系统

    兄弟们好呀,这里是肆十二,这转眼间寒假就要过完了,相信大家的毕设也要准备动手了吧,作为一名大作业区的UP主,也该蹭波热度了,之前关于图像分类和目标检测我们都出了相应的教程,所以这期内容我们搞波新的,我们用Unet来做医学图像分割。我们将会以皮肤病的数

    2024年02月03日
    浏览(71)
  • 手把手教你用git上传项目到GitHub

    github的官方网址:https://github.com ,如果没有账号,赶紧注册一个。 点击Sign in进入登录界面,输入账号和密码登入github。 创建成功可以看到自己的仓库地址,如此,我的远程免费的仓库就创建了。它还介绍了github仓库的常用指令。这个指令需要在本地安装git客户端。 Git是目

    2024年01月18日
    浏览(49)
  • 手把手教你用Git——详解git merge

    关于本教程的编写环境 本文基于 Windows10系统 , Mac 系统的小伙伴可以尝试 Homebrew 。由于本人手里并没有搭载 MacOS 的电脑,因此 Homebrew 相关的使用请自行尝试。 对于使用 Windows11系统 的小伙伴,本文的教程是通用的,不过一些细节可能略有不同,这点希望小伙伴们注意一下

    2024年02月05日
    浏览(48)
  • 手把手教你用MindSpore训练一个AI模型!

    首先我们要先了解深度学习的概念和AI计算框架的角色( https://zhuanlan.zhihu.com/p/463019160 ),本篇文章将演示怎么利用MindSpore来训练一个AI模型。和上一章的场景一致,我们要训练的模型是用来对手写数字图片进行分类的LeNet5模型 请参考( http://yann.lecun.com/exdb/lenet/ )。 图1 M

    2024年02月04日
    浏览(56)
  • 手把手教你用Python实现2048小游戏

    感觉好久没有写小游戏玩了,今天恰巧有空.这次我来用Python做个2048小游戏吧.废话不多说,文中有非常详细的代码示例,需要的朋友可以参考下 目录 一、开发环境 二、环境搭建 三、原理介绍 四、效果图 Python版本:3.6.4 相关模块: pygame模块; 以及一些Python自带的模块。 安装

    2024年04月28日
    浏览(69)
  • 爬虫实战|手把手教你用Python爬虫(附详细源码)

    实践来源于理论,做爬虫前肯定要先了解相关的规则和原理,要知道互联网可不是法外之地,你一顿爬虫骚操作搞不好哪天就…  首先,咱先看下爬虫的定义:网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自

    2024年02月02日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包