AJAX概述

1.1什么是AJAX.

  • Ajax即AsynchronousJavascript And XML:异步数据回调。

  • 使用Ajax技术网页应用能够快速地将更新呈现在用户界面上,不需要重载(刷新)整个页面【只刷新局部】,这使得程序能够更快地回应用户的操作。、


1.2为什么需要AJAX.

  • 在我们之前的开发,每当用户向服务器发送请求,哪怕只是需要更新一点点的局部内容,服务器都会将整个页面进行刷新,这么做的问题有两点:

    • 性能会有所降低(一点内容就需要刷新整个庞大的页面);

    • 用户的操作页面会中断(整个页面被刷新了)。

  • 而基于ajax可以使用Javascript技术向服务器发送异步请求,因为异步请求,这可以使我们在不刷新页面的前提下拿到后端数据,完成页面的局部刷新,给用户的感受是在不知不觉中完成请求和响应过程。


1.3同步和异步的区别.

  • 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;

  • 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。


2.基于jQuery实现AJAX语法.

2.1语法1-$.ajax(url,[settings]).

  • url:一个用来包含发送请求的URL字符串;

  • settings里面的参数如下:

    • type:请求方式 (“POST” 或 “GET“[默认])

    • data:发送到服务器的数据,例如:key1=value1key2=value2 或 {key1: 'value1', key2: 'value2'} ;

    • dataType:期望服务器返回的数据类型(json、text、xml、html、script......);

    • success(data):请求成功的回调函数   data:服务器返回的数据(响应);

    • error:请求失败的回调函数。


2.2语法2-$.get/post(url, [data], [callback], [type]).

  • url:发送请求地址。

  • data:待发送 Key/value 参数。例如: {key1: 'value1', key2: 'value2'}

  • type:预期服务器返回的数据类型,xml, html, script, json, text......

  • callback:发送成功时回调函数。


3.案例演示.

3.1AJAX实现登陆.

3.1.1login.jsp.

  • 界面排版:

  • $.ajax() 方式发送ajax请求:

  • $.post() 方式发送ajax请求:


3.1.2LoginServlet.


3.2AJAX优化加入购物车功能.

  • 以前端 index.jsp页面的加入购物车功能为例。

3.2.1index.jsp.


3.2.2HomeInsertCartServlet.

  • 后台不再向加载数据的servlet跳转,而是向前端响应添加成功与否的信息。如:


3.3AJAX优化购物车修改数量功能.

3.3.1业务分析.

  • 原先:cart.jsp → HomeUpdateCartServlet → HomeLoadCartServlet → cart.jsp;

  • ajax方式:cart.jsp → HomeUpdateCartServlet → cart.jsp。


3.3.2cart.jsp.

  • 修改完商品数量后跳转到 HomeUpdateCartServlet,在 HomeUpdateCartServlet里面执行修改业务逻辑,执行成功后计算出商品的价格小计和购物车价格总计,并且输出到前端。由于 out.print() 一次只能往前端输出一个值,所以需要在后台把商品价格小计和购物车总计通过符号拼接到一起,形成一个字符串,然后把该字符串输出到前端,前端接收字符串后,通过split进行切割,分别提取出里面的商品价格小计和购物车价格总计。


3.3.3HomeUpdateCartServlet.

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值