简易商品页——Ajax

11 AJAX

11.1 什么是ajax

AjaxAsynchronous Javascript And XML 异步javascriptxml

Ajax不是一种语言。只是一种新技术。使用js进行的异步请求的技术。

xmlajax中的作用是进行数据传递。现在使用json

11.2 异步?

同步与异步:

异步:手拉手一起手。

同步:一个走完,另一个再走。

异步请求:在不影响当前页面的浏览的同时,可以与服务器进行交互。

11.3 异步的实现

只是浏览器不能实现异步请求。

使用js中xhr对象。xhr=》 XmlHttpRequest对象。这是一个js中的对象。

在js脚本中使用xhr对象可以向服务器发送请求。

在web基本概念中,谁发请求,谁接响应

在web基本概念中,针对同一个服务的请求,响应结果相同。

11.4 看图说话

异步请求:使用js中的xhr对象发请求,接响应。

11.5 原生态的ajax

11.5.1 创建xhr对象

针对不同的浏览器版本,创建方式不一致。

var xhr=null;

function createXHR() {        

     if (window.ActiveXObject) {

          xhr = new ActiveXObject("Microsoft.XMLHTTP");

     } else if (window.XMLHttpRequest) {

          xhr = new XMLHttpRequest();

     } else {

          alert("can't create xhr object!");

     }

}

11.5.2 设置xhr对象的参数

xhr对象的open方法。打开一个链接。

xhr.open("post", "/ajax/ajax/doajax.jsp",true);

11.5.3 发送请求

xhr对象的send方法。向服务器发送请求。

xhr.send();

11.5.4 设置回调函数

回调函数,当异步请求接收到响应时,调用的js函数。

用到xhr对象的onreadystatechange事件。xhr对象状态改变事件。

xhr.readyState==4   4表示已经接收响应状态

    xhr.status==200     200表示成功

11.5.5 接收响应文本

使用xhr对象的responseText

11.6 基于jQuery框架的ajax

11.6.1 jQuery的ajax语法格式

$.ajax({

   type: "POST",

   url: "/search.do",

   data: {“name”:”John” , “location”:”Boston”},

   success: function(msg){

     alert( "Data Saved: " + msg );

   }

});

type: 用来指定请求的方式  Post/get

url : 用来指定请求的URL地址

data : 提交请求参数。这个格式也使用JSON

success : 响应成功时的回调函数。

msg : 响应的文本

dataType :响应回来的数据格式

    text :纯文本

     json : json

11.6.2 导入js脚本

<script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.11.1.min.js"></script>

11.6.3 编写jquery的ajax方法

<input type="button" value="ajax" id="searchBtn" >

<script type="text/javascript">

$(function(){

     $("#searchBtn").click(function(){

          $.ajax({

               type:"post",

               url:"${pageContext.request.contextPath }/search.do",

               data:{ "name":"XXX"},

               success:function(msg){

                    $("#dataBody").html(msg);

               }

          });

     });

})

</script>

<table width="80%" border="1px" cellpadding="1" cellspacing="0">

<thead>

     <tr>

          <th>序号</th><th>商品编号</th><th>商品名称</th><th>商品价格</th><th>商品类型</th>

     </tr>

</thead>

<tbody id="dataBody">

</tbody>

</table>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值