Ajax & Json 1. 认识Ajax

一、认识Ajax

我们先说一个例子,让大家感受一下什么是 ajax,然后再去详细说明。

我们之前学习 Servlet 的时候,做登录,在登录出现错误,好比账号错了,或者是密码错误的时候,我们都会用 request 将错误的信息带回给页面,然后页面在刷新之后,展示出来。

但是,我们可以去淘宝啊、或者是其他网站去进行登录,不难发现,他们如果识别到我们的账号或者密码错误的时候,页面是不刷新的,而是直接将错误信息用弹框的形式展示出来。

而这样的效果,我们称为 异步交互。下面我们来上百度百科。

可以看到,这个 Ajax 是一个缩写,它是一种无需重新加载整个页面,就可以动态更新部分网页的技术。注意,它是一种技术!!!不是编程语言~

而且,这个 Ajax 技术会之后一直陪伴我们,所以我们必须要学习

再来说一下异步,异步方式对比同步,有一个区别就是,异步方式不需要有等待时间,这就好比在炖肉的时候,你还可以扫地,而同步的话,需要等肉炖好之后,才可以扫地。

相比之下,异步还是要好的,最起码节省时间~

这里推荐大家可以看着 https://www.w3school.com.cn/jquery/index.asp 一边看一边学习,我后面也会根据这个去讲,当然,我们后期不会去使用它的这个方式,我们会引入 jQuery 来进行操作

二、使用 Ajax 写一个 HelloWorld

我们打开 eclipse,创建一个新的 Web 项目

我们就叫 AjaxHelloWorld

然后,我们创建一个页面:index.html

我们做一个这样的操作,就是从后端动态的显示出来苹果个数,我们在 index.html 中写一个button,然后点击进行异步获取苹果个数

我们先来写页面,当然页面很简单

然后启动服务器,我们来看看效果

OK,然后我们来学习 Ajax 的写法

1. 如何创建 Ajax

首先得创建一个对象 XMLHttpRequest,这个对象是用来去后台与服务器交换数据的,所以这个对象是非常重要的,但是因为 IE 浏览器的特殊,所以我们需要有一个判断,如果是 IE5/6 的情况下,我们创建 ActiveXObject

很简单啊。

2. 如何使用 Ajax 进行与后端通讯

我们是使用 XMLHttpRequest 对象的两个方法进行通讯,一个是 open 方法,可以理解为打开通道,然后就是 send 方法,进行发送请求。

如图,可以看到啊,我们请求方式有两种,一个是 GET 一个是 POST。

我们先使用 GET 方式进行请求数据

我们使用 GET 方式,异步进行请求数据,请求的地址是,/getAppleCount 这个方法,当然啦,这个方法我们还没有写,一会我们去补上这个方法

3. 如何拿到服务器响应内容

请求发送之后,我们需要拿到服务器响应给我们的内容,这里我们是通过监听 onreadystatechange 函数进行操作的

可以看到,没当 readyState 这个属性改变的时候,都会调用我们的 onreadystatechange 事件,我们就通过它来进行去拿服务器响应的数据

我们这里是通过 responseText 进行获取数据,而之所以不去使用XML,是因为还得解析。

上完整代码:

4. 写后端服务代码

我们来写一个 Servlet,直接上业务代码了

这里我们给前段返回一串字符串,这里有五个苹果,到时候这几个字会通过前端 alert 显示在页面上~

这里注意一下,因为我们不需要做页面跳转,所以我们不需要有重定向或者是页面转发操作,直接使用流的形式,将内容使用流的方式输出除去即可~

最后,自己配置一下 web.xml !!!注意地址,要写成 /getAppleCount

从新启动一下服务器,然后我们来看看效果

额.... 效果不尽人意,又是之前我们学习 Servlet 的问题,这里修改一下请求的路径

再来刷新一下浏览器,再来点击

是OK的啊,完美~~~

这一篇先说到这里,给大家感受一下,后面我们开始说说原理啥的~~

大家可以自己好好查查看,有不懂的可以联系我 QQ:2100363119

欢迎大家访问我的网站:https://www.lemon1234.com

可以的话关注一下我的公众号,就在我网站,每天都有更新~~~,无限资源畅游 Java,感谢~

最近小程序也开放了,大家可以扫码进行玩玩看

猜你喜欢

转载自blog.csdn.net/weixin_45908370/article/details/113848472