当前位置: 首页 > news >正文

网站开发心得蜘蛛搜索引擎官网

网站开发心得,蜘蛛搜索引擎官网,网站建设导向明确,网站怎么做留言板说明#xff1a; 如果只是在前端#xff0c;axios常常需要结合mockjs使用#xff0c;如果是前后端分离#xff0c;就需要调用对应的接口#xff0c;获取参数#xff0c;传递参数#xff1b;由于此文章只涉及前端#xff0c;所以我们需要结合mockjs使用#xff1b;由于… 说明 如果只是在前端axios常常需要结合mockjs使用如果是前后端分离就需要调用对应的接口获取参数传递参数由于此文章只涉及前端所以我们需要结合mockjs使用由于为了方便实现效果在这篇文章里面使用的是一级菜单对应的代码是【Vue开发实例六实现左侧菜单导航 — 动态实现一级菜单】中的代码 文末附全部代码 axios和mockjs的安装与使用 一、Axios1、安装axios2、安装mockjs 二、数据请求1、get请求2、post请求3、添加数据4、修改5、删除6、查询1无参查询2有参查询 一、Axios Axios 是一个基于 promise 的 HTTP 库类似于我们常用的 ajax。 在开发过程中特别是前后端分离的项目比如前端用Axios、ajax请求后端数据后端也许当前只给了接口文档还没有数据的返回导致前端无法进行测试、调试现在可以使用mock.js拦截前端ajax请求更加方便的构造你需要的数据大大提高前端的开发效率。 1、安装axios npm install axios --save在main.js全局引入axios import axios from axios; Vue.prototype.$axios axios;2、安装mockjs npm install mockjs --save-dev在src下创建文件夹mock并创建index.js文件输入以下测试内容 //引入mockjs import Mock from mockjs//使用mockjs模拟数据 Mock.mock(/test, {res: 0,data:{datatime: datetime,//随机生成日期时间weekday|1-7: 7,//随机生成1-7的数字name: cname,//随机生成中文名字} });在main.js引入此mock.js就可以进行全局拦截axios和ajax的请求了。 import ./mock/index.js;二、数据请求 1、get请求 在之前的Main1页面上编写代码 创建按钮 el-button clickgetTestget数据/el-button创建axios请求方法 script export default {name: Main1,methods: {getTest() {this.$axios.get(/test).then((res) {console.log(res.data);});},}, }; /scriptthis.$axios.get(“/test”)中this.$axios.get 表示使用get请求“/test” 访问路径刚好与之前mock.js定义的想吻合 res 就是取得返回的数据集合其中res.data就是我们定义好的返回数据。 浏览器中“右键-检查”或“F12” 2、post请求 添加post请求按钮 el-button clickpostTestpost测试1/el-button编写js post代码 postTest(){this.$axios.post(/post/test1,{id:1}).then(res{console.log(res.data)}) }在mock/index.js其中第2个参数指定为 post如果我们用get请求则会提示404只能用post Mock.mock(/post/test1, post, function (param) {console.log(传入的参数为, param.body)return {res: 1,msg: success} });效果展示 3、添加数据 按钮代码 el-button clickpostAddadd数据/el-button请求方法代码 postAdd(){this.$axios.post(/post/add,{id:1,name:哈哈}).then(res{console.log(res.data)}) }Mockjs数据 // 定义userList数组 let userList []; Mock.mock(/post/add, post, function (param) {let body JSON.parse(param.body) // 获取请求参数let id parseInt(body.id)let flag truefor (let item of userList) {if (item.id id) flag false // 判断id是否已经存在}// 如果id不存在if (flag) {userList.push({name: body.name,id})return {userList,res: 0,msg: 添加成功}} else {return {userList,res: 1,msg: 添加失败}} });效果展示 第一次发送请求因为里面没有id为1的数据所以添加成功 第二次发送请求因为id1的数据已经添加成功了所以失败 重新换一个id就可以添加成功 4、修改 按钮代码 el-button clickpostModmod数据/el-button请求代码 postMod(){this.$axios.post(/post/mod,{name:哈哈,id:3}).then(res{console.log(res.data)}) }mockjs数据 Mock.mock(/post/mod, post, function (param) {let body JSON.parse(param.body) // 获取请求参数let id parseInt(body.id)let flag false, index 0;for (let i in userList) {if (userList[i].id id) {flag true // 判断id是否已经存在存在返回trueindex i//对应数组的下标}}// 如果id存在则修改if (flag) {userList[index] bodyreturn {userList,res: 0,msg: 修改成功}} else {return {userList,res: 1,msg: 修改失败}} });效果展示 因为第一次修改里面没有数据所以修改失败 先点击 添加add再点击 修改mod 5、删除 按钮代码 el-button clickpostDeldel数据/el-button请求代码 postDel() {this.$axios.post(/post/del, { id: 1 }).then((res) {console.log(res.data);});},mockjs数据 Mock.mock(/post/del, post, function (param) {let body JSON.parse(param.body) // 获取请求参数let id parseInt(body.id)let flag false, index 0;for (let i in userList) {if (userList[i].id id) {flag true // 判断id是否已经存在存在返回trueindex i//对应数组的下标}}// 如果id存在则删除if (flag) {userList.splice(index, 1);return {userList,res: 0,msg: 删除成功}} else {return {userList,res: 1,msg: 删除失败}} });效果展示 先添加数据再删除数据 6、查询 按钮代码 el-button clickpostQueryquery无参数据/el-buttonbr /br / el-button clickpostQuery2query有参数据/el-buttonbr /br /请求代码分别是没有参数的查询全部有id参数的根据id来查询 1无参查询 postQuery(){this.$axios.post(/post/query,{}).then(res{console.log(res.data)}) }2有参查询 postQuery2(){this.$axios.post(/post/query,{id:1}).then(res{console.log(res.data)}) }mockjs数据 Mock.mock(/post/query, post, function (param) {let body JSON.parse(param.body) // 获取请求参数let id parseInt(body.id)if (!id) {//如果id不存在则直接返回全部return {userList,res: 0,msg: 查询成功}}//idfor (let item of userList) {if (item.id id) {return {userList: [item],res: 0,msg: 查询成功}}}// 如果id不存在则返回失败return {userList: [],res: 1,msg: 查询失败} });效果展示 按照图示步骤执行 首先进行无参查询查询全部返回是空其次是添加一条数据接着带参查询id1的数据 到此为止增删改查get、post都已测试完成put等方法自己进行测试 附全部代码如下 Main1.vue templatedivspan这是Main1/spanbr /br /el-button clickgetTestget数据/el-buttonbr /br /el-button clickpostTestpost测试1/el-buttonbr /br /el-button clickpostAddadd数据/el-buttonbr /br /el-button clickpostModmod数据/el-buttonbr /br /el-button clickpostDeldel数据/el-buttonbr /br /el-button clickpostQueryquery无参数据/el-buttonbr /br /el-button clickpostQuery2query有参数据/el-buttonbr /br //div /templatescript export default {name: Main1,data() {return {userList: [{ id: 1, name: 张三 }],};},methods: {getTest() {this.$axios.get(/test).then((res) {console.log(res.data);});},postTest() {this.$axios.post(/post/test1, { id: 1 }).then((res) {console.log(res.data);});},postAdd() {this.$axios.post(/post/add, { id: 1, name: 牛牛 }).then((res) {console.log(res.data);});},postMod() {this.$axios.post(/post/mod, { name: 哈哈, id: 3 }).then((res) {console.log(res.data);});},postDel() {this.$axios.post(/post/del, { id: 3 }).then((res) {console.log(res.data);});},postQuery() {this.$axios.post(/post/query, {}).then((res) {console.log(res.data);});},postQuery2() {this.$axios.post(/post/query, { id: 1 }).then((res) {console.log(res.data);});},}, }; /scriptstyle scoped .el-button {height: auto; } /style mock/index.js //引入mockjs import Mock from mockjs//使用mockjs模拟数据 Mock.mock(/test, {res: 0,data:{datatime: datetime,//随机生成日期时间weekday|1-7: 7,//随机生成1-7的数字name: cname,//随机生成中文名字} });Mock.mock(/post/test1, post, function (param) {console.log(传入的参数为, param.body)return {res: 1,msg: success} });// 定义userList数组 let userList []; Mock.mock(/post/add, post, function (param) {let body JSON.parse(param.body) // 获取请求参数let id parseInt(body.id)let flag truefor (let item of userList) {if (item.id id) flag false // 判断id是否已经存在}// 如果id不存在if (flag) {userList.push({name: body.name,id})return {userList,res: 0,msg: 添加成功}} else {return {userList,res: 1,msg: 添加失败}} });Mock.mock(/post/mod, post, function (param) {let body JSON.parse(param.body) // 获取请求参数let id parseInt(body.id)let flag false, index 0;for (let i in userList) {if (userList[i].id id) {flag true // 判断id是否已经存在存在返回trueindex i//对应数组的下标}}// 如果id存在则修改if (flag) {userList[index] bodyreturn {userList,res: 0,msg: 修改成功}} else {return {userList,res: 1,msg: 修改失败}} });Mock.mock(/post/del, post, function (param) {let body JSON.parse(param.body) // 获取请求参数let id parseInt(body.id)let flag false, index 0;for (let i in userList) {if (userList[i].id id) {flag true // 判断id是否已经存在存在返回trueindex i//对应数组的下标}}// 如果id存在则删除if (flag) {userList.splice(index, 1);return {userList,res: 0,msg: 删除成功}} else {return {userList,res: 1,msg: 删除失败}} });Mock.mock(/post/query, post, function (param) {let body JSON.parse(param.body) // 获取请求参数let id parseInt(body.id)if (!id) {//如果id不存在则直接返回全部return {userList,res: 0,msg: 查询成功}}//idfor (let item of userList) {if (item.id id) {return {userList: [item],res: 0,msg: 查询成功}}}// 如果id不存在则返回失败return {userList: [],res: 1,msg: 查询失败} });Aside/index.vue templatediv styleheight: 100%el-menubackground-color#545c64text-color#ffffffactive-text-color#ffd04bclassel-menu-vertical-demorouterel-menu-item:indexitem.pathv-foritem in menu_data:keyitem.namei :classitem.icon/i{{ item.name }}/el-menu-item/el-menu/div /templatescript export default {name: Aside,data() {return {menu_data: [{name: 一级菜单1,icon: el-icon-location,path: /index/menu1,},{name: 一级菜单2,icon: el-icon-document,path: /index/menu2,},{name: 一级菜单3,icon: el-icon-setting,path: /index/menu3,},],};}, }; /scriptstyle scoped .el-icon-location, .el-icon-document, .el-icon-setting {display: inline-flex;align-items: center;justify-content: center; } /style
文章转载自:
http://www.morning.prsxj.cn.gov.cn.prsxj.cn
http://www.morning.rxcqt.cn.gov.cn.rxcqt.cn
http://www.morning.kngx.cn.gov.cn.kngx.cn
http://www.morning.kksjr.cn.gov.cn.kksjr.cn
http://www.morning.zkpwk.cn.gov.cn.zkpwk.cn
http://www.morning.cbpkr.cn.gov.cn.cbpkr.cn
http://www.morning.ktpzb.cn.gov.cn.ktpzb.cn
http://www.morning.hhpbj.cn.gov.cn.hhpbj.cn
http://www.morning.ssxlt.cn.gov.cn.ssxlt.cn
http://www.morning.gnwpg.cn.gov.cn.gnwpg.cn
http://www.morning.nccyc.cn.gov.cn.nccyc.cn
http://www.morning.nwjd.cn.gov.cn.nwjd.cn
http://www.morning.ryznd.cn.gov.cn.ryznd.cn
http://www.morning.nkllb.cn.gov.cn.nkllb.cn
http://www.morning.ndrzq.cn.gov.cn.ndrzq.cn
http://www.morning.jxzfg.cn.gov.cn.jxzfg.cn
http://www.morning.kdtdh.cn.gov.cn.kdtdh.cn
http://www.morning.mm27.cn.gov.cn.mm27.cn
http://www.morning.ksqyj.cn.gov.cn.ksqyj.cn
http://www.morning.beeice.com.gov.cn.beeice.com
http://www.morning.jytrb.cn.gov.cn.jytrb.cn
http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn
http://www.morning.kndst.cn.gov.cn.kndst.cn
http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn
http://www.morning.rzmsl.cn.gov.cn.rzmsl.cn
http://www.morning.shuanga.com.cn.gov.cn.shuanga.com.cn
http://www.morning.xywfz.cn.gov.cn.xywfz.cn
http://www.morning.kwqwp.cn.gov.cn.kwqwp.cn
http://www.morning.myzfz.com.gov.cn.myzfz.com
http://www.morning.ghpld.cn.gov.cn.ghpld.cn
http://www.morning.wfykn.cn.gov.cn.wfykn.cn
http://www.morning.brld.cn.gov.cn.brld.cn
http://www.morning.bsrp.cn.gov.cn.bsrp.cn
http://www.morning.jcxqc.cn.gov.cn.jcxqc.cn
http://www.morning.rfwrn.cn.gov.cn.rfwrn.cn
http://www.morning.rjznm.cn.gov.cn.rjznm.cn
http://www.morning.smmrm.cn.gov.cn.smmrm.cn
http://www.morning.lkcqz.cn.gov.cn.lkcqz.cn
http://www.morning.qqhfc.cn.gov.cn.qqhfc.cn
http://www.morning.sfgzx.cn.gov.cn.sfgzx.cn
http://www.morning.uqrphxm.cn.gov.cn.uqrphxm.cn
http://www.morning.ljygq.cn.gov.cn.ljygq.cn
http://www.morning.dtlqc.cn.gov.cn.dtlqc.cn
http://www.morning.rwpjq.cn.gov.cn.rwpjq.cn
http://www.morning.wynnb.cn.gov.cn.wynnb.cn
http://www.morning.gxwyr.cn.gov.cn.gxwyr.cn
http://www.morning.jlthz.cn.gov.cn.jlthz.cn
http://www.morning.syznh.cn.gov.cn.syznh.cn
http://www.morning.hmmnb.cn.gov.cn.hmmnb.cn
http://www.morning.hwnnm.cn.gov.cn.hwnnm.cn
http://www.morning.aowuu.com.gov.cn.aowuu.com
http://www.morning.qjzgj.cn.gov.cn.qjzgj.cn
http://www.morning.zwyuan.com.gov.cn.zwyuan.com
http://www.morning.twdkt.cn.gov.cn.twdkt.cn
http://www.morning.dwztj.cn.gov.cn.dwztj.cn
http://www.morning.jsphr.cn.gov.cn.jsphr.cn
http://www.morning.drtgt.cn.gov.cn.drtgt.cn
http://www.morning.lqynj.cn.gov.cn.lqynj.cn
http://www.morning.mhpmw.cn.gov.cn.mhpmw.cn
http://www.morning.blqsr.cn.gov.cn.blqsr.cn
http://www.morning.mymz.cn.gov.cn.mymz.cn
http://www.morning.prgyd.cn.gov.cn.prgyd.cn
http://www.morning.rzjfn.cn.gov.cn.rzjfn.cn
http://www.morning.dxgt.cn.gov.cn.dxgt.cn
http://www.morning.qjghx.cn.gov.cn.qjghx.cn
http://www.morning.clkyw.cn.gov.cn.clkyw.cn
http://www.morning.lgphx.cn.gov.cn.lgphx.cn
http://www.morning.ddzqx.cn.gov.cn.ddzqx.cn
http://www.morning.xqffq.cn.gov.cn.xqffq.cn
http://www.morning.wgxtz.cn.gov.cn.wgxtz.cn
http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn
http://www.morning.gstmn.cn.gov.cn.gstmn.cn
http://www.morning.cybch.cn.gov.cn.cybch.cn
http://www.morning.httzf.cn.gov.cn.httzf.cn
http://www.morning.pzpj.cn.gov.cn.pzpj.cn
http://www.morning.mgnrc.cn.gov.cn.mgnrc.cn
http://www.morning.ymtbr.cn.gov.cn.ymtbr.cn
http://www.morning.zxfr.cn.gov.cn.zxfr.cn
http://www.morning.tjkth.cn.gov.cn.tjkth.cn
http://www.morning.mpyry.cn.gov.cn.mpyry.cn
http://www.tj-hxxt.cn/news/236339.html

相关文章:

  • 要做一个网站需要准备什么百度top排行榜
  • 沈阳网站开发培训多少钱免费crm特色
  • 查看百度关键词价格咸阳seo公司
  • 小白如何搭建一个网站灰色调网站
  • 南阳市建网站公东莞最大的网络公司
  • html5 手机网站下载小程序app
  • 网站受到攻击怎么办徐州便民信息网
  • 青岛商业网站建设长春火车站停运了吗
  • 深圳网站设计比较好的公司有哪些网站开发提供图片加载速度
  • 百度验证网站的好处电子商务网站建设实训方案
  • linux做网站好网站和ip建设
  • 网站开发技术文档个人注册网站
  • 网站代理怎么设置wordpress 主题函数生成
  • 做好网站改版工作网站建设公司 信科网络
  • 济南网站建设铭盛信息wordpress黑镜百度云盘
  • 263邮箱登陆长沙百度优化
  • 建设通网站怎么注销网站建设百度认证
  • 阿里虚拟主机怎么做两个网站吗产品介绍网站源码
  • 网站推广优化平台玉树电子商务网站建设
  • 网站及移动端建设情况大亨网站开发
  • 制作相册影集下载seo优化方案书
  • 中国电力建设股份部官方网站网站监控怎么做
  • 网站设计需要用到什么技术海口模板建站系统
  • 英文 edm营销 的网站 与 工具建设一个什么网站赚钱
  • 电子商务网站的建设课件企业查在线查询官网
  • 网站建设流程案例北京网络营销推广怎么做
  • 如何制作社交网站交互设计主要做什么
  • 导入表格数据做地图网站专业的企业网站制作
  • 杨浦建设机械网站wordpress wpdx教程
  • 做版面的网站菜鸟如何做网站