vue+express+mysql做一个简单前后端交互,从数据库中读取数据渲染到页面

news2024/11/23 13:47:38

1.下载上次的包 npm I ,同时下载新的包 axios

2.打开数据库服务器,同时使用新建数据库一样,数据包名

3.新建一个项目

4.全局注册axios

5.新建一个server文件夹(里面在建一个index.js的主文件)用来放我们后端写的东西

6.先写后端数据,我们这里要注意的一点。因为我们前端的端口是8080,而后端的端口是8088那么就会出现跨域问题,因此我们需要用cors在后端解决跨域问题。

先导包,然后使用插件

7.这里我们有一个需求,那就是当访问/user的时候可以从数据库读取数据。这里我们要注意的一点,那就是index.js中的数据要跟数据库中定义的数据相同

8.node index.js跑一下

9.在App.vue 书写前端代码。这里我们又有一个需求,点击一个按钮从数据库中读取数据。再点一个按钮从删除这条记录

10.交互

11.页面展示效果 npm run serve跑一下

12.主要代码展示

/server/index.js

// 引入express模块

var express = require('express')

var cors=require('cors')

var bodyParser = require('body-parser');

var mysql=require('mysql');

//创建express应用

var app = express()

app.use(cors())

app.use(bodyParser.urlencoded({

       extended:true

}))

const db=mysql.createConnection({

       host:'localhost',

       user:"root",

       password:'123456',

       database:'vue'

});

db.connect(function(err){

       if(err) throw err;

       else

              console.log('数据库连接成功');

})

// app.set('view engine','png')

// app.set('views','./views')

app.get('/user',function(req,res){

       var sql='select * from user';

       db.query(sql,function(err,results){

              if(err)

                     console.log(err);

              else {

                     res.send(results)

              }

       })

})

//在8081端口启动服务器

app.listen(8088,function(){

       console.log("服务器启动成功")

})

App.vue

<template>

  <div id="app">

    <button @click="getData">获取数据</button>

       <table border="1" cellpadding="0" align="center">

              <tr bgcolor="antiquewhite"><td>序号</td><td>姓名</td><td>年龄</td><td>操作</td></tr>

              <tr v-for="(c,index) in user">

                     <td>{{index+1}}</td>

                     <td v-for="(value,key) in c">

                            <nobr>{{value}}</nobr>

                     </td>

                     <td><input type="checkbox" @change="sle_course(c.name)"/></td>

              </tr>

       </table>

       </div>

</template>

<script>

export default {

  name: 'app',

  data(){

         return{

                user:[{name:'',age:18}]

         }

  },

  methods:{

        getData(){

              this.axios.get('http://127.0.0.1:8088/user').then(

              (res)=>{

                     this.user=res.data

              }

              )  

        },

        sle_course(name){

               for(var i=0;i<this.user.lenght;i++){

                      if(this.user[i].name==name){

                             this.user.splice(i,1)

                             break

                      }

               }

        }

  },

}

</script>

<style>

#app {

  font-family: 'Avenir', Helvetica, Arial, sans-serif;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

  text-align: center;

  color: #2c3e50;

  margin-top: 60px;

}

</style>

Main.js

import Vue from 'vue'

import App from './App.vue'

import axios from 'axios'

Vue.config.productionTip = false

Vue.prototype.axios=axios

new Vue({

  render: h => h(App),

}).$mount('#app')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/519102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式——单一职责模式之桥模式

文章目录 前言一、“单一职责” 模式二、Bridge 桥模式1、动机2、模式定义3、伪代码示例4、结构 总结 前言 一、“单一职责” 模式 在软件组件的设计中&#xff0c;如果责任划分的不清晰&#xff0c;使用继承得到的结果往往是随着需求的变化&#xff0c;子类急剧膨胀&#xff…

【C++STL】map/set源码封装简单分析

文章目录 一. 问题的抛出二. 红黑树的实现三. map/set实现四. 分析五. KeyOfValue仿函数结束语 一. 问题的抛出 我们知道C的STL中map和set的底层都是红黑树。 但是仔细思考一下&#xff0c;map是存储键值对&#xff0c;也就是Key_Value模型 而set是Key的模型 那么STL中的红黑树…

apisdk-starter自动装配的思路与应用

apisdk-starter整体思路 首先定义开发者定义的开放接口声明为原始类&#xff0c;javassist生成的类是增强类。 使用springboot的EnableAutoConfiguration和Import触发Spring扫描组件扫描原始类&#xff0c;得到所有BeanDefinition拓展FactoryBean&#xff0c;构造函数的参数为…

力扣算题Day20

98.验证二叉搜索树(了解二叉树的性质,才是编写此道题代码的基础) 做题伤着了&#xff1a;这道题我做的时候&#xff0c;看到别人写的代码很长&#xff0c;懒得看&#xff0c;直接干。自己编写代码&#xff0c;没有了解平衡二叉树的性质&#xff0c;然后出现了下图[0,-1]、[0]的…

落地页设计的营销心理学(一)

营销落地页的作用&#xff0c;是为了促进目标用户转化。但如何提升转化率&#xff0c;这就需要我们了解用户在浏览落地页行为背后的动机、心理活动是什么&#xff0c;才能更好地制定营销策略。 营销心理学是指应用心理学原理来解释、预测和影响人们购买决策的一门学科。在落地页…

Goby 漏洞更新 |华视私云-CDN直播加速服务器默认口令漏洞

漏洞名称&#xff1a;华视私云-CDN直播加速服务器默认口令漏洞 English Name&#xff1a;Sinovision Cloud CDN live default passwd CVSS core: 6.5 影响资产数&#xff1a;737 漏洞描述&#xff1a; 华视私云-CDN直播加速服务器是一款用于CDN直播加速的服务器。华视私云…

Restormer Efficient Transformer for High-Resolution Image Restoration论文代码运行记录

文章目录 Restormer代码训练和测试运行记录文章及代码地址1. 所需环境2. 配置环境3. 安装gdrive以便下载数据集4. 放置权重文件5. 运行Demo运行单图像散焦去模糊训练、测试 Restormer代码训练和测试运行记录 文章及代码地址 文章名称&#xff1a;Restormer: Efficient Transf…

获取cookies的方法及使用postman进行接口关联

第一种获取cookies的方式 看有没有专门的登录测试地址&#xff0c;访问来获取cookie信息&#xff0c;然后将cookie信息粘贴到header里面 第二种获取cookies的方式 在登录前&#xff0c;提前打开审查元素&#xff0c;然后输入账号密码后&#xff0c;点击登录&#xff0c;就可…

刚来起薪就18K,公司刚来的00后真是卷王....

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。 这不&#xff0c;前段时间我们公司来了个00后&#xff0c;工作都没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了…

【Java零基础入门篇】第 ⑤ 期 - 抽象类和接口(一)

博主&#xff1a;命运之光 专栏&#xff1a;JAVA入门 学习目标 1.了解什么是抽象类&#xff0c;什么是接口&#xff1b; 2.掌握抽象类和接口的定义方法&#xff1b; 3.理解接口和抽象类的使用场景&#xff1b; 4.掌握多态的含义和用法&#xff1b; 5.掌握内部类的定义方法和使用…

数字孪生应用 | 3D可视化技术助力智慧煤矿建设,提升煤矿生产效率

智慧煤矿数字孪生可视化平台是一种利用现代信息技术手段&#xff0c;对煤矿的生产过程进行实时监测、管理和控制的系统。它能够将煤矿内的数据、信息、图像等多种信息整合在一起&#xff0c;通过3D可视化的方式呈现给煤矿管理者和工作人员&#xff0c;帮助他们更好地了解煤矿的…

mysql读写分离实验

amoeba服务器 mkder amoeba tar xf amoba- mysql-binary-2. 2.0.tar.gz -C amoeba mv amoeba /usr/local 解压jdk mv jdk1.6 /usr/local/jdk1.6 vim /etc/profile export JAVA_home/usr/local/jdk1.6 export CLASSPATH.:$JAVA_HOME/lib:$JAVE_HOME/jre/lib export AM…

SpringBoot+myBatis(plus)+MySQL+VUE最基础简易的前后端全栈demo制作

网站全栈制作&#xff1a; 一&#xff1a;后端 为了跟公司后端更好的扯皮&#xff08;不是&#xff09;&#xff0c;本人决定学一下java语言的后端接口书写。 项目制作&#xff1a;后端采用SpringBootmyBatis(plus)mysql&#xff08;IDE为IDEA软件&#xff09;。前端采用Vue…

奶爸式Swagger教学

目录 一、导入依赖 二、SwaggerConfig基础编程 三、Swagger 常用说明注解 1.API 2.ApiOperation 3.ApiModel 4.ApiModelProperty 5.ApiParam 6.ApilmplicitParam 一、导入依赖 <!--开启Swagger --><!-- https://mvnrepository.com/artifact/io.springf…

自动化测试框架搭建步骤教程

说起自动化测试&#xff0c;我想大家都会有个疑问&#xff0c;要不要做自动化测试&#xff1f; 自动化测试给我们带来的收益是否会超出在建设时所投入的成本&#xff0c;这个嘛别说是我&#xff0c;即便是高手也很难回答&#xff0c;自动化测试的初衷是美好的&#xff0c;而测试…

实验1 流水线及流水线中的冲突【计算机系统结构】

实验1 流水线及流水线中的冲突【计算机系统结构】 前言推荐实验1 流水线及流水线中的冲突1 实验目的2 实验平台3 实验内容和步骤4 实验结论5 实验心得 最后 前言 2023-5-12 20:22:09 以下内容源自《【计算机系统结构】》 仅供学习交流使用 推荐 无 实验1 流水线及流水线中…

【国际知名-hacker`动态`】洞悉-最新 hacker技术 新闻

国际知名-黑客动态 1、【导读】黑客 最新 技术&新闻 平台 2、【动态】每日必看的朋友圈 3、【多看看】跳出舒适圈&#xff0c;你要学的还有很多 ​ The Hacker News 报道黑客攻击、网络安全、科技新闻&#xff08;内容深入浅出>提供及时、可靠的信息) 链接&#xff1a…

面板数据的门槛|门限效应检验、阈值确定、回归结果解释

写在前面 up学习是参照一个B站大美女&#xff1a;传送门 这里做笔记总结&#xff0c;勿cue 1.为什么是门槛模型 这玩意是针对非线性的举个例子 打LOL&#xff0c;最开始接触的时候&#xff0c;是新手训练营&#xff0c;你需要画大量的时间去学习如何行走、控制角色、熟悉英雄…

使用 Selenium IDE 上手 web 自动化测试

安装 Selenium IDE 是以浏览器插件的形式使用的&#xff0c;主要包含 FireFox 和 Chrome 两种。安装方式分为&#xff1a; 在线安装&#xff1a;下载对应的浏览器插件&#xff08;chrome)。本地安装&#xff1a;把 .zip 压缩包拖到浏览器的扩展页面。 开始页面 在浏览器的插…

patchelf 和 glibc-all-in-one

小白垃圾笔记。不建议阅读。 为什么突然学这个呢&#xff1f; 因为因为因为一个栈溢出题&#xff0c;把我的ubuntu16搞崩了。具体是什么原因呢。 我很菜&#xff0c;我不知道pip是干啥的&#xff0c;之前装pwntools都是直接粘贴命令。然而这次&#xff0c;ubuntu16的python其…