1、Ajax异步网络请求

Ajax

1、 Ajax介绍

1.1 Ajax的概念

​ AJAX (Asynchronous Javascript And Xml ) 异步JavaScript和XML,是指一种创建交互式网页应用的网页开发技术, 可以访问服务器数据的局部刷新的技术. AJAX不是一种新的编程语言

1.2 Ajax的作用

​ 允许客户端发送HTTP请求, 去异步请求服务器的数据来创建动态网页

1.3 前后端交互图

2、Ajax使用

2.1Ajax在JS中的使用

  • Ajax的核心

    Ajax 技术核心是JavaScript对象XMLHttpRequest(简称XHR)

  • 创建XHR对象

    var xhr = new XMLHttpRequest();
    console.log(xhr);  // XMLHttpRequest
    
  • XMLHttpRequest对象的属性和方法XHR提供的方法:

    • open(): 准备好需要发送给服务器的内容.接收三个参数: 要发送的请求类型(get/post), 请求的URL和是否异步.如:

      xhr.open('get', 'demo.json', true);  //URL为demo.json的get请求, true表示异步.
      
    • send(): 向服务器发送请求.

      如: xhr.send(null);

  • XHR提供的属性:当请求发送到服务器端后, 服务器就会向客户端发送响应, 收到响应数据后, 响应的数据会自动填充XHR对象的属性. 一共有四个属性:

    • status: 响应的HTTP状态码
    • statusText: HTTP状态码的说明
    • responseText: 作为响应主体被返回的文本
    其中status属性: HTTP状态码, 一般我们只需要关心HTTP状态代码为200则表示请求服务器成功.
HTTP 状态码状态字符串说明
200OK服务器成功返回了页面
400Bad Request语法错误导致服务器不识别
401Unauthorized请求需要用户认证
404Not found指定的 URL 在服务器上找不到
500Internal Server Error服务器遇到意外错误,无法完成请求
503ServiceUnavailable由于服务器过载或维护导致无法完成请求
  • 异步请求:

    我们在实际项目开发中一般使用异步请求,使用异步调用的时候, 需要触发readystatechange事件, 然后检测readyState属性的值即可, readyState属性的值有5个, 最常用的是最后一个值:4, 表示已经接收到了全部响应数据.

    状态说明
    0未初始化尚未调用 open()方法
    1启动已经调用 open()方法,但尚未调用 send()方法
    2发送已经调用 send()方法,但尚未接受响应
    3接受已经接受到部分响应数据
    4完成已经接受到全部响应数据
  • 使用JS实现Ajax发送HTTP异步请求的代码

    //创建xhr
    var xhr = new XMLHttpRequest(); 
    //使用open()方法, 设置true表示异步请求 
    xhr.open('get', 'demo.json', true); 
    //向服务器发送请求
    xhr.send(null); 
    //监听状态改变
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) {  
              if (xhr.status == 200) {  
    	  		  console.log(xhr.responseText); 
              } else {
    	  		  consolel.log('error状态码: ' + xhr.status + '错误信息:'+ xhr.statusText);
              }
         }
    };
    

2.2 HTTP协议介绍

HTTP是一个属于应用层的面向对象的网络协议, 由于其简捷,快速的方式, 适用于分布式超媒体信息系统. HTTP协议的主要特点有:

  • 支持客户端/服务端模式. 即请求(request)-响应(response)模式, 必须先请求才能得到响应, 服务器不能通过http协议直接发送数据给客户端
  • 简单快速, 客户端向服务端发送请求时, 只需要传送请求方式和路径即可,所以简单, 由于HTTP协议简单, 使得HTTP服务器的程序规模小, 因而速度很快;
  • 灵活, 传输数据类型种类多
  • 无连接, 请求一次服务器后立刻断开连接, 即非长连接, 即短连接
  • 无状态, HTTP协议对事务处理没有记忆能力;
  • HTTP协议的常用请求方式: GET, POST
  • HTTP包含: 请求头和请求体
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值