解决办法是:比如我是使用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结合实现,比如退出功能或者是删除功能等,比较好。因为可以提高用户体验。

作为公司的前后端开发人员,从前端的角度,尽可能最大程度上,提高用户体验。

谈谈Ajax(一)的更多相关文章

  1. 谈谈Ajax(二)

    昨天还没有谈完,今天做一个了解. 首先还是以错误,来讲述. 一.AJax常见错误 Ajax常见的错误,除了昨天列举的之外.还有就是如下状态码: 405,请求类型错误,比如请求是POST,你却用GET, ...

  2. 谈谈.Net技术面试

    1.引子 最近一直在负责.net(B/S方向)技术面试相关的工作,前前后后面试了不少人,但是通过率较低,大概只有20%左右:有颇多感慨. 最近也一直比较困惑,原因究竟是什么? 是我们要求太高,应聘者本 ...

  3. Ajax的工作流程简述

    提到Ajax相信我们都不会陌生,不管你是前端开发还是后台数据处理的程序员,ajax的作用就像现在生活中的手机一样,无论是作用还是流程都差不多,这里我们要进行ajax操作后台数据并显示在页面上的话,首先 ...

  4. Ajax与服务器(JSON)通信介绍

    本文主要介绍使用Ajax与服务器(JSON)通信方法,谈谈Ajax提供的两类服务器通信手段:同步通信和异步通信.有需要的可以了解一下.毕竟这个时代出了很多东西,自动化构建工具,mvvm框架等等.Jav ...

  5. 解决Ajax请求后台Servlet接口拿不到JSON数据问题

    前端Ajax请求代码如下: window.onload=function() { var url='http://127.0.0.1:8080/testpj/ErrorlogServlet'; $.a ...

  6. 浅谈C# .Net技术面试 , 正在找工作的人一定要看看

    1.引子 最近一直在负责.net(B/S方向)技术面试相关的工作,前前后后面试了不少人,但是通过率较低,大概只有20%左右:有颇多感慨. 最近也一直比较困惑,原因究竟是什么? 是我们要求太高,应聘者本 ...

  7. XHR工厂的实现

    ajax这种常见的开发模式已经遍布我们日常的开发之中了,ajax本质还是采用一种轮询的模式,就是隔一段时间去发送一次http请求,获取数据,然后显示在页面之上,当然,ajax比起新兴的WebScoke ...

  8. 一步一步弄懂angularJS基础

    问题1:ng-app指令的使用以及自定义指令 <!doctype html> <!--这里的ng-app的属性值就是模块的名称,也就是 angular.module("My ...

  9. Spring,SpringMVC,MyBatis,Hibernate,Servlet的生命周期,jsp有哪些内置对象,Tomcat,Cookie和Session的作用以及区别,oracle,MYSQL等面试题总结

    1. 什么是Spring,谈谈你对Spring的理解 Spring是我们JAVA开发人员在搭建后台时选用的一个轻量级的开源框架,Spring框架目前也是功能丰富,十分优秀企业级采用最多的一个框架. S ...

随机推荐

  1. [android] 练习使用ListView(二)

    主要练习异步任务和LruCache缓存 package com.android.test; import java.io.InputStream; import java.net.HttpURLCon ...

  2. SSM实现批量删除功能

    批量删除功能的实现 其实实现这个功能还是挺简单的 因为我这是直接拼接的,所以用了DOM方法来获取id话不多说直接上代码首先是复选框全选和反选这里的话 获取最上面一个复选框的状态同步到拼接的复选框  $ ...

  3. 8、springboot之定时任务

    @Configuration @EnableScheduling public class SchedulingConfig { @Scheduled(cron = "0/5 * * * * ...

  4. wget http://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz 下载时报错 ssl is required 解决办法

    方法一:使用浏览器下载.在浏览器中输入 http://pypi.python.org/packages/source/s/setuptools/setuptools-2.0.tar.gz 方法二:将h ...

  5. 在IIS中浏览网站时出现:无法打开登录所请求的数据库 "***",登录失败

    在IIS中发布Web应用程序后,浏览网站时出现无法打开登录所请求的数据库 "***",登录失败错误,如下图所示: 解决办法:打开系统Web.Config配置文件,查看数据库连接串是 ...

  6. 项目经验:GIS<MapWinGIS>建模第七天

    终天完成了管网地图的附加功能..实现了了管网与地图结合

  7. kafka controller重构

    Kafka Controller 是 Kafka 的核心组件,在前面的文章中,已经详细讲述过 Controller 部分的内容.在过去的几年根据大家在生产环境中应用的反馈,Controller 也积累 ...

  8. shell 脚本解压war包+备份+tomcat自动关闭+启动

    公司的开发环境每次替换war包时候,老是需要重新上传并且手动解压,然后再去重启tomcat.觉得这样子太麻烦了,于是写了一个shell脚本,自动解压+备份+tomcat自动关闭+启动.代码如下: #关 ...

  9. 通过JavaScript创建Qml对象

    有两种方法可以创建,都是全局对象Qt提供的方法 一:用Qt.createComponent加载一个qml文件并创建Component 二:用Qt.createQmlObject从一个qml字符串创建C ...

  10. web images

    ps切图时,我们保存时会要求选择文件格式. 一般来说,如果图像的色彩丰富,没有透明度的要求,则选择为jpeg格式: 如果图像色彩不丰富,我们就选择为png-8的格式,注意:ps中要选择无杂边,无仿色 ...