前后端分离之Vue(三)爬过得那些坑

ChipCamp探索系列 -- 7A. 开源CPU之BOOM的来龙去脉 本文梳理一下Berkeley的乱序超标量CPU项目----Berkeley Out of Order Machine (BOOM),作为探索7系的首篇(7A)。 阅读详情

爬过得那些坑

前言:在整个Vue的过程中,遇到了不少坑。查找不同的资料,把这些坑给填了,记录下这些坑,以及解决办法。

一、Http请求的那些坑

1.不支持http请求

表现为:程序启动正常,点击按妞不跳转,后台无响应,浏览器调试出现

Uncaught TypeError: Cannot read property 'post' of undefined

解决办法:添加vue-resource支持,在main.js添加

import  VueResource  from 'vue-resource'

Vue.use(VueResource);

2.post请求,后台接收参数为null

表现为:后台响应但是参数为null,正确的登陆失效,调试时,参数为from object


解决办法:http请求中,添加

{emulateJSON:true}

全部的Http请求部分代码为

_this.$http.post('http://localhost:8080/person/login', {
                username: _this.username,
                password: _this.password
          }
          ,{emulateJSON:true}
          )
            .then(function (response) {
              var errorcode = response.data.code;
              if (errorcode == "200") {
                _this.$router.push(
                  { path: '/HelloWorld',
                    query: {
                      user: response.data.data,
                    }
                  });
              } else {
                _this.$router.push({ path: '/Fail' });
              }
            })
            .catch(function (error) {
              console.log(error);
            });

3、正确处理后,跳转到空页面

原因:路由的url配置有问题,注意组件的引用的对应关系以及path的路径问题

4.Request请求变成Options

解决办法:设置头格式

  http: {
        headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
      },

二、Vue视图之间的跳转实现

1.引用router组件

2.在router.js添加对应的view,以及相对应的path的配置

3.this.$router.push({path:'url'})

4.可参照上文的Http请求部分代码

三、Vue跳转传递参数

采用编程式的实现方式

传递参数

   _this.$router.push(
                  { path: '/HelloWorld',//跳转的路径
                    query: {//query 代表传递参数
                      user: response.data.data,//参数名key,以及对应的value
                    }
                  });

接收参数

this.$route.query.user

user代表的参数名,不但可以传递单个参数,也可以传递对应,解析的方式user.属性

四、实例,登陆页面的Vue代码

<template>
  <div class="login">
    {{ message }}<br/>
    <input v-model="username" placeholder="用户名"><br/>
    <input v-model="password" placeholder="密码"><br/>
    <button v-on:click="login">登陆 </button>
  </div>
</template>

<script>
    export default {
      name: "login",
      data() {
        return {
          message: 'Vue 登陆页面',
          username: '',
          password: ''
        }
      },
      http: {
        headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
      },
      methods: {
        login: function () {
          var _this = this;
          console.log(_this.username+_this.password);
          _this.$http.post('http://localhost:8080/person/login', {
                username: _this.username,
                password: _this.password
          }
          ,{emulateJSON:true}
          )
            .then(function (response) {
              var errorcode = response.data.code;
              if (errorcode == "200") {
                _this.$router.push(
                  { path: '/HelloWorld',
                    query: {
                      user: response.data.data,
                    }
                  });
              } else {
                _this.$router.push({ path: '/Fail' });
              }
            })
            .catch(function (error) {
              console.log(error);
            });
        }
      }

    }
</script>

<style scoped>

</style>

五、实例demo源码下载

Vue源代码地址:https://github.com/dgyuanjun/Vue-SpringBoot.git

SpringBoot源码地址:https://github.com/dgyuanjun/SpringBoot-Vue.git

相关链接

前后端分离之Vue(一)Vue环境搭建 http://blog.youkuaiyun.com/shenbug/article/details/79541218

前后端分离之Vue(二)前后端整合http://blog.youkuaiyun.com/shenbug/article/details/79542717




ubuntu通过qemu安装银河麒麟V10_Arm_v8 (kylin_v10_飞腾/鲲鹏版) 一、windows下安装vmware虚拟机 二、ubuntu下载地址 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/ubuntu-20.04.3-live-server-amd64.iso 三、vmware中新建虚拟机,并使用ubuntu-20.04.3-live-server-amd64.iso作为启用盘 。。。在虚拟机中安装ubuntu(略) 四、配置ssh(如果ssh登录不上时配置) 修改openssh的配置 vi /etc/s 阅读详情

相关推荐

《数据结构》02-线性结构1 两个有序链表序列的合并

题目 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。 函数接口定义: List Merge( List L1, List L2 ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next;...

叫我皮卡丘 7665

TypeError: Cannot read properties of undefined (reading ‘post‘) 无法读取未定义的属性(读取“post”)

无法读取未定义的属性(读取“post”)

weixin_69139524的博客 1万+

日语五十音图速记攻略:从形象联想法到实战训练

语言学习中的记忆编码与条件反射构建是高效掌握基础的关键。其核心原理在于通过将抽象符号与具象图像、故事或已知概念关联,利用大脑对视觉和叙事信息的天然高记忆效率,从而降低认知负荷,加速识别与反应速度。这一方法的技术价值在于将机械重复转化为意义联结,显著提升长期记忆的牢固度与提取速度。在日语学习这一具体应用场景中,五十音图作为表音文字系统,正是实践这一记忆技术的绝佳对象。通过系统化的形象联想、分组对比(如平假名与片假名的对应关系)以及间隔重复的实战训练,学习者可以高效攻克这一入门难关,为后续的词汇、语法学习铺设坚

weixin_29032489的博客 378

解决TypeError:Cannot read properties of undefined并深入解读TypeError错误类型

解决TypeError:Cannot read properties of undefined并深入解读TypeError错误类型 再根据axios官方文档给出的示例Axios实例 所以说instance是一个自定义的axios实例对象我们可以发现,上面的报错在于我没有在instance实例对象上挂载get方法就调用,导致报了TypeError反其道而行,我开始思考为什么这个问题报的错为什么是TypeError而不是别的错误类型深入研究一下Typ...

qq_52372698的博客 6万+

行人重识别技术(Re-ID)概述、研究现状以及相关数据集下载

ReID技术概述什么是ReID一般流程Re-ID特点研究现状难点数据集reid常用数据集以及下载链接评价指标实现思路研究方式基于表征学习基于度量学习基于局部特征全局特征切片姿态基于视频序列RQEN基于GANCamStyleDG-NetGAN总结对比未来方向建议文献 什么是ReID 行人重识别是指利用计算机视觉技术,判断在不同时间段、不同监控下出现的行人图像是否属于同一人员的技术。行人重识别是最近几年在视频分析领域下热门的研究领域,可以看做是人脸识别应用的拓展。现在大街上的监控较多,由于设备质量、成像光线、.

留缘的博客 1万+

手撕Lua字节码:从黑盒到透明

lua 字节码 怎么‘手撕’一个 chunk 看看里面啥样?我手里有一个.luac或出来的二进制字节码,想知道里面到底是什么结构、哪些字段、有哪些指令,怎么一步一步“拆箱”,从一个黑盒变成有迹可循的东西?也就是:不满足于只会loadpcall而是想亲眼看看一个 chunk 内部长啥样,甚至写点工具把它解析出来。这篇就用带你从“拿到一坨.luac不搞高深玄学,尽量让你看完就能自己动手。注:以 Lua 5.3/5.4 为主,细节各版本略有不同,但大体套路是一致的。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 99

Uncaught (in promise) TypeError: Cannot read property 'post' of undefined

js中出现这个错误,好像是因为浏览器在开始加载对象的时候,这个对象还是没有定义,所以也就读不到属性

jxw921026的博客 3万+

【WorkBuddy专栏32】从「分文件夹」到「组队打仗」——WorkBuddy v5.0项目模式深度拆解

【WorkBuddy专栏32】从「分文件夹」到「组队打仗」——WorkBuddy v5.0项目模式深度拆解

AI人人懂 297

vue.esm.js?efeb:628 [Vue warn]: Error in v-on handler: "TypeError: Cannot read property 'post' of un

vue.esm.js?efeb:628 [Vue warn]: Error in v-on handler: "TypeError: Cannot read property 'post' of undefined" found in ---> <Vchat> at src/components/Vchat.vue <App> at src/App....

qq_18246731的博客 1万+

Python FastAPI 面试题及参考答案

FastAPI 的路由机制是其核心功能之一,用于将不同的 URL 路径映射到相应的处理函数。通过定义路由,可以构建出功能丰富的 API。在 FastAPI 中,使用装饰器来定义路由。在这个示例中,是一个装饰器,它将根路径"/"的 GET 请求映射到read_root函数。当客户端发送一个 GET 请求到根路径时,FastAPI 会调用read_root函数并返回结果。

大模型大数据攻城狮的专栏 2247

华为od 面试八股文_C++_04_含答案

华为od 面试八股文_C++_04_含答案

MISAYAONE的博客 2473

TypeError: Cannot read property ‘sendpost‘ of undefined

箭头函数指向问题,定义let that = this 解决。

weixin_43337481的博客 552

YOLOv11改进 | 主干/Backbone篇 | 华为最新目标检测网络VanillaNet(适配yolov11的N、S、M、L、X)

本文给大家来的改进机制是华为最新VanillaNet网络VanillaNet是一种注重极简主义和效率的神经网络架构。它的设计简单,层数较少,避免了像深度架构和自注意力这样的复杂操作(需要注意的是该网络结构的通道数会被放大,GFLOPs的量会很高)。我将其替换整个YOLOv10的Backbone,在一些大目标和小目标检测上均有涨点,效果比上一篇RepViT的效果要好。

Snu77的博客 2586

前后端分离之Vue(一)环境配置

Vue环境配置前言:之前开发过微信小程序,感觉前后端分离的开发非常舒服,在线学习了下Vue这个前端框架,感觉与小程序的开发类似。动手搭建下前后端分离的项目,做个简单的Demo,体会下前后端分离的开发。写下这个系列也是记录自己在学习Vue的实践过程。Vue官网地址,可在线学习Vue的基本语法,了解Vue使用一、软件安装1.Node.js的安装Vue环境运行依赖Node.js,首先安装Node.js....

shenbug的博客 2万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

cl lm_td_opt的BPE分词器拆解:vocab.json与merges.txt如何工作,为什么max_length是1536

cl lm_td_opt 是一个基于 Facebook OPT-2.7B 大语言模型微调而来的模型检查点,本文带你拆解它的 BPE 分词器:vocab.json 与 merges.txt 各自扮演什么角色、分词是如何一步步完成的,以及为什么 tokenizer 的 max_length 被设为 1536 而不是模型的 2048。 ## 一、先认识 cl lm_td_opt 的仓库结构 这个仓库

gitblog_00025的博客 194

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

axios在后端返回401时,获取不到error.response和返回的状态码问题

在axios中爬过的坑 项目是后端采用的grails + spring cloud + gorm + es等插件做的, 前端采用的是element + axios + vue等,身份认证采用的是spring cloud oauth2.0 . 开发采用的是gradle搭建,语言使用的是groovy 在搭完框架后,正常流程postman都能跑的通,但是如果使用 axios就会遇到跨域问题 然后就...

shsongtao的博客 4万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ajax能拿到401axios无法拿到,解决axios.interceptors.response 401 403问题

在axios中爬过的坑项目是后端采用的grails + spring cloud + gorm + es等插件做的, 前端采用的是element + axios + vue等,身份认证采用的是spring cloud oauth2.0 . 开发采用的是gradle搭建,语言使用的是groovy在搭完框架后,正常流程postman都能跑的通,但是如果使用 axios就会遇到跨域问题然后就解决吧 首先...

weixin_39878760的博客 2035

2018在路上,先给自己一点掌声!

1、前言也是序 2017,毕业了... 职业:前端开发 坐标:杭州 座右铭:一直在路上 2017年是我人生的一个转折点 再见济南,你好杭州! 我在二环路的里边 想着你 你在远方的山上 春风十里 今天的风又吹向你 下了雨 我说所有的酒 都不如你 — —《春风十里》 想说很多,不知从哪下笔。2017改变了很多,仍需努力。记录自己,聊聊前端。 毕业

ALLEN的博客 1363

前端直传S3:基于预签名URL的云存储上传架构实践

在构建现代Web应用时,文件上传是常见的核心功能。传统方案中,文件需先流经应用服务器再转存至对象存储,这会消耗服务器带宽与计算资源,并增加架构复杂性与单点故障风险。为解决这些问题,一种高效的技术方案应运而生:前端直传对象存储。其核心原理是使用预签名URL(Presigned URL),这是一种由服务器生成、具有时效性和特定操作权限的安全临时凭证。前端获取该URL后,可直接将文件上传至云存储服务(如AWS S3),实现数据流与控制流的分离。这项技术的核心价值在于将上传压力从自有服务器转移至云服务,从而显著减轻

weixin_34413802的博客 364

VUE axios 封装报错 TypeError: this.$http.get is not a function

1、封装 axioshttp.js import axios from 'axios'; const requests = axios.create({ baseURL:'http://localhost:8000/', timeout:600 //请求超时时间 }) //错误处理函数 const err = (error) =>{ if(error.response){ const data = error.response.data; if(error.response.sta

qq_26330543的博客 9420

Vue3中处理主函数中配置axios的$http报错

Vue3中处理主函数中配置axios的$http报错 在vue2.0版本的开发中,想要快速的在组件中发送请求,一般都是直接this.$http.get/post(‘url’,参数),如图 这里的$http是在入口函数里面对axios进行配置,2.0引入的模块是这样的 从vue这个模块引入了Vue对象,下面就直接进行配置,直接获取Vue的原型,配置$http 但是在vue3.0当中,模式就发生了一些变化 这里不再从vue包中引入vue,而是引入了一个对象,然后下面对这个对象进行配置 用一个a

茂茂的博客 1591

关于VUE使用this.$http出现的问题

VUE封装axios时,使用this.$http会出现 Cannot read properties of undefined (reading '$router') 的问题,之前有在本站看到相关解答。总结下,就是使用axios后this指向问题,其一是可以在方法前使用that重新中指向本组件(this)//this指向有问题,重新声明一个this。在添加完之后,方法中直接使用router代替this.$router去跳转页面。刚开始学习,若有错误或者想法,希望各位多多指正。其二就是可以在JS代码中添加。

xiaomo39的博客 1178

[已解决]“TypeError Cannot read property ‘xxx‘ of undefined“报错情况分析

这句话直译过来就是:TypeError:无法读取未定义的属性“ xxx” 首先去看看属性 ‘xxx’ 有没有定义。没定义的根据实际需求在data中或者方法中定义一下。 1、如果在data中定义了,先看看你的data写对了没,我有一次手误打成了 date ,检查了一下午才看出来o(╥﹏╥)o 2、如果这个数据“xxx”是从后台异步获取的,那就最好在data中先给他个默认值 比如, data() { return { obj1: '', obj2: null. obj3

m0_67401417的博客 3万+

Uncaught TypeError: Cannot read property 'post' of undefined

转载于:https://www.cnblogs.com/dekevin/p/4218124.html

weixin_30612769的博客 4560

深入理解并解决Uncaught TypeError: Cannot read properties of undefined技术文章

Uncaught TypeError: Cannot read properties of undefined 是一个 JavaScript 运行时错误,它表示你试图访问一个未定义(undefined)对象的属性。这通常是因为你尝试访问一个不存在的变量或者对象的属性。在访问对象的属性之前,你应该先检查该对象是否已经定义。你可以使用typeof操作符来检查一个变量是否已定义。// 访问 myVariable 的属性。

理论都是虚的,代码才是王道。 11万+

Error in v-on handler: “TypeError: Cannot read properties of undefined (reading ‘post‘)“

Error in v-on handler: "TypeError: Cannot read properties of undefined (reading 'post')"

weixin_51196242的博客 4398
上一篇: 前后端分离之Vue(二)前后端结合
shenbug
博客等级 码龄10年 410粉丝 18原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值