Vue 客户端接收不到 response返回数据
前言:
自己是基于别人的项目开发的,考虑到js没vue好用,就采用vue来改变DOM节点和数据以及监听事件的实现。
背景:
login页面,原开发者是通过表单 submit来提交数据的。
自己没考虑太多,直接在提交标签加入点击方法,试图通过点击事件触发vue中的提交数据的方法,然后根据返回数据再进行页面跳转或其他处理。
结果:客户端axios一直收不到返回数据,自己通过前端调试也发现了 axios中的response undefined,这也导致axios既不会处理正确返回的方法也不会处理错误返回的方法,但是能够成功向服务端发送数据,因为自己的日志文件里是有请求记录,和返回数据的记录的。
思考历程:
1.服务端可以正确接收数据,并且正常返回数据,应该是客户端的问题。
2.自己对axios也不太了解,是不是自己调用接口写错了,去看别人的使用案例,详细了解axios如何使用。
3.确认axios没有接口调用错误,依然收不到数据,感觉会不会是原作者引入的js中有对点击事件的处理,对自己定义的方法有干涉。然后前端查看监听事件,点击事件只有一个,就是vue里定义的。
4.最后去网页,发现类型为 submit,改成 button后可用。
总结:因该是html 表单提交按钮submit的原生事件影响了 axios方法对数据的获取。如果不是对html特别了解,我们很难理解html原生的具有事件行为的标签的语义是如何实现的。所以,如需要自己实现功能,尽量避免对原生具有事件行为的标签的使用。