解决办法是:比如我是使用SSM框架(Spring+SpringMVC+MyBatis/MyBatis Plus)开发web应用,通常Controller的参数列表与ajax的data保持一致即可,少一个行,多一个也不行。必须要对应上,否则会报这个错误。
AJAX(异步的JavaScriptAndXML)
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
比如,之前我们团队开发的第一个酒店后台管理系统,用到的是jsp,基本没有ajax,这样基本是同步请求,比如每次添加或者删除数据,都要跳转页面刷新整个网页,看起来一点都不爽。如果是使用AJAX,每次对数据进行增加或者编辑、删除等操作,看到的只是局部(某个div或者table发送变化)。
同步请求和异步请求的区别
先解释一下同步和异步的概念:
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。
同步请求:
客户端请求(等待)->服务端处理->响应->页面载入 (缺少对象:XMLhttpRequest)
这时候如果有错误,只能再次发送请求,再次等待
异步请求:
简单的说,与同步请求相比,我即可吃饭又可以玩手机,而不像同步请求我只能等吃完饭后再去玩手机。这个例子,举的不是特别高明,但是我觉得可以比较好的说明同步和异步的区别。
为什么要使用AJAX?
优点:
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。
这使得Web应用程序更为迅捷地响应用户动作,并避免了在网络上发送那些没有改变的html代码信息。前面我举了一个关于我们团队开发的第一个项目为例。
1.减轻服务器负担,按需要获得数据。
2.无刷新更新页面,减少用户的实际和心理的等待时间。
3.更好的用户体验。
4.减轻宽带的负担。
5.主流浏览器支持比如:用户不可能访问一个页面等待一个多小时,还显示不了内容吧,正常来说,用户的心理预期应该在5秒内或者是3秒。对于现在而言,用户就是财富。这也就是为什么大数据为什么这么火的原因之一。
缺点:
1.AJAX的程序必须测试针对各个浏览器的兼容性。
2.AJAX更新页面内容的时候并没有刷新整个页面,因此,网页的后退功能是失效的;
3.对搜索引擎支持不好。比如:2,比如我开发一个博客应用,文章列表展示,比如我现在新增了一篇文章,发现它并没有在文章列表展示,于是我手动刷新下。又或者在新增后,我调用js的location.reload()函数重新加载。
这里主要谈谈用jQuery+AJAX的三种实现方式:
第一种,$.ajax
$.ajax可支持POST、GET、PUT、DELETE等RestFul常用方式。
第二种,$.post
该方法主要用于post请求
第三种,$.get
该方法主要用于get请求
上述三种常见方式,我个人用的比较多的是$.ajax和$.post,$.get用的确实少,因为觉得,$.ajax可以搞定,就不需要$.get了。至于$.post是因为使用了layui的弹出层,该弹出层与$.post结合实现,比如退出功能或者是删除功能等,比较好。因为可以提高用户体验。
作为公司的前后端开发人员,从前端的角度,尽可能最大程度上,提高用户体验。