vue中发送请求删除数据,页面上的数据却不刷新
我做的是一个采用Vue.js+Spring Boot的前后端分离的项目
我前端在点击删除按钮后,发送一个axios请求到后端,执行完删除
前端再调用method中的方法重新获取一遍数据,但是获取完之后当前页面的数据并没有刷新,只有做一下其他的操作比如往前跳转一页再跳回来,数据才会刷新。
然后其他的新增、编辑功能并不会出现这种情况,都是在请求完成后数据立马刷新
网上查资料有说使用this.$forceupdate()来进行强制刷新页面,然后依然没有用,不知道有没有大佬知道是什么原因
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
你试着 直接删除本地数据
回复
你要放在删除成功之后的回调里面,估计你是放在回调外面了。
回复
也就是你抛出成功消息的时候进行重新获取
回复
谢谢大佬,确实可以了,因为我的deleteRow()里面有一种是删除单行,一种是删除多行两种情况,因此我就想把getData()放在最后面让他最后统一调用。因为我主要是学习后端的,前端方面的知识欠缺不少,不知道大佬能不能简要的说一下具体的原因,我好做做笔记以后不再犯这样的错误。
回复
js函数执行是异步操作,两个会同时执行。你两个同时调用,在删除的同时也在获取数据,因此你获取的数据可能是未删除的数据。js代码分同步和异步操作,同步操作才能够直接在下面获取到上面操作的结果,而异步操作不能。 这个你详情百度一下js的同步和异步就好了,了解js的执行规则。
这是删除的代码,删除完以后调用getData()方法
这部分是请求获取数据的getData()方法
上图了,贴在下面回答了
贴一下删除和获取的代码
上图了,贴在下面的回答了
你不贴个前端 请求的代码 这大家怎么看呢?