做前后端交互,大家首先接触到的方式应该就是前端做一个表单接收输入信息,然后提交到后端,后端接收到这个表单的输入,然后进行处理,并返回结果到前端,前端在新的页面展现这个结果。作为一次性的交互,这样做没有啥毛病,但是往往前端的工作不止是处理那唯一一个表单信息,还有后续的处理,那么页面停留在第一个表单的结果界面就没有那么友好了。
当然有一些改善的方法,如果喜欢form的风格和思想,可以保留html中form的设计,不过要监听form的submit事件,阻止它的提交,οnsubmit=“reutrn false”。需要提交到后端的信息,采用ajax方式传递form的所有元素,data: $(’#formx’).serialize(),可将原先的type为submit按钮更改为type为button的按钮,添加onclick事件函数以提交ajax请求,这样不仅可以保留之前的html风格特性,还可以提交不跳转页面,在页面内,根据服务器的请求处理返回结果做进一步的处理。
当然form本身也有不好的地方,比如提交的信息只包含该form中的元素,页内其他元素的值还没有包含在该请求参数中,而采用ajax提交就没有这个限制。
此外一般提交信息是要在前端做一下校验,后端收到信息后一般也要进行一下校验,可以在按钮点击功能函数中进行前端输入的处理、后端处理结果返回的处理,用户体验没有差异。
所以我比较倾向与涉及到页面内表单信息提交就不采用form的submit而直接改用ajax和jquery的方法了。
关于html中的form与submit
于 2024-03-10 09:54:49 首次发布
本文讲述了如何在前端项目中优化前后端交互,通过避免form的submit,改用AJAX和jQuery的serialize方法,实现无刷新提交,同时保持HTML风格,并提及了前端校验的重要性,提升了用户体验。
摘要由CSDN通过智能技术生成