用ajax请求提交注册信息数据库内出两条信息

问题描述

在我们提交表单时,常常会用到ajax异步请求;但随之而来也会便随一些问题。

比如在我们提交表单时,from标签中定义的action会自动提交一次,与此同时我们在ajax中定义的请请求也会进行一次。这就导致了我们在进行一些数据库信息操作时会发送两次相同的请求,从而会带来一些问题。

例如:我们在注册页面提交后,当注册成功后,我们会发现数据库中出现两条重复的信息,这就是我们刚才提到的两次请求带来的问题。

解决

在网上找了很多方法,发现并不适用。

经过多次尝试,有两个方法对于本问题的解决效果较好:

  • 删去from标签中的action属性:这样只会发送一次请求,但发现会影响后续页面的跳转。
  • 删去method属性(默认为get):虽然依然是发送两次请求,但由于其请求方法的差异(ajax中为post,method为get),所以其请求时是顺序的而不是并发的,然后通过在dao层加上复查的代码(若相关信息已存在则不在执行),这样就解决了数据库中出现两条重复的信息的情况。

版权声明:本文为m0_52155263原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。