★ Ajax

作者: 行走的蛋白质 | 来源:发表于2020-05-28 23:40 被阅读0次
Ajax 一图解所有
Ajax 是什么
  • Asynchronous JavaScript And XML 异步的 JavaScript 和 XML
  • 它是一种异步请求数据的 web 开发技术,不是新的开发语言而是一种使用现有标准的新方法
  • 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页的内容

Ajax 的使用
  • 1.创建Ajax核心对象XMLHttpRequest
let xhr = null
if(window.XMLHttpRequest) {
    xhr = new XMLHttpRequest()
} else { // IE6, IE5 
    xhr = new ActiveXObject("Microsoft.XMLHTTP")
}
  • 2.向服务器发送请求
/*
 * method: 请求的类型 GET POST 等
 * url: 文件在服务器上的位置 
 * async: 表示要不要执行异步操作
 */
xhr.open(method, url, async) // 初始化一个请求
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded') // 设置 http 请求头信息
// 'Content-type', 'application/x-www-form-urlencoded' 表示客户端提交给服务器的文本内容的编码方式是 url 编码
xhr.send(string) // 发送请求 string 应用于 post 请求发送数据
    1. 服务器响应数据:分同步异步两种情况
    • 同步处理
    xhr.open('GET', 'info.txt', false)
    xhr.send()
    document.getElementById('app').innerHTML = xhr.responseText
    
    • 异步处理
    xhr.onreadystatechange = function() {
        if(xhr.readyState === 4 && xhr.status === 200) {
            document.getElementById('app').innerHTML = xhr.responseText
        }
    }
    
readyState
  • 它是 XMLHttpRequest 对象的一个属性,用来标识当前的状态,0-5
    • 0: 未初始化,尚未调用 xhr.open() 方法
    • 1: 启动,已经调用 open 方法但是尚未调用 send 方法
    • 2: 发送,已经调用 send 方法但是尚未接收到响应
    • 3: 接受,已经接收到部分响应数据
    • 4: 完成,已经结束到全部响应数据,并且可以在客户端使用
status
  • HTTP 状态码 ( status ) 由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP 状态码共分为5种类型:
    • 1xx: 信息,服务器收到请求,需要请求者继续执行操作
    • 2xx: 成功,操作被成功接受并处理
    • 3xx: 重定向,需要进一步操作以完成请求
    • 4xx: 客户端错误,请求包含语法错误或无法完成请求
    • 5xx: 服务器错误,服务器在处理请求的过程中发生了错误
常见状态码
  • 200 表示从客户端发来的请求在服务器端被正常处理了。
  • 204 表示请求处理成功,但没有资源返回。
  • 301 表示永久性重定向。该状态码表示请求的资源已被分配了新的 URI,以后应使用资源现在所指的 URI。
  • 302 表示临时性重定向。
  • 304 表示客户端发送附带条件的请求时( 指采用 GET 方法的请求报文中包含 if-matched,if-modified-since,if-none-match,if-range,if-unmodified-since 任一个首部 )服务器端允许请求访问资源,但因发生请求未满足条件的情况后,直接返回 304Modified( 服务器端资源未改变,可直接使用客户端未过期的缓存 )
  • 400 表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。
  • 401 表示未授权( Unauthorized ),当前请求需要用户验证
  • 403 表示对请求资源的访问被服务器拒绝了
  • 404 表示服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。
  • 500 表示服务器端在执行请求时发生了错误。也有可能是 Web 应用存在的 bug 或某些临时的故障。
  • 503 表示服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

相关文章

  • AJAX

    主要内容: ajax 是什么、原生ajax 写法和jQuery ajax写法。 AJAX 是什么 ajax,即As...

  • JavaScript进阶知识点--AJAX及JSON

    AJAX 关于 AJAX 什么是 AJAX AJAX 的全称是 Asynchronous JavaScript a...

  • HTML5权威指南 | 第五部分 高级功能

    三十二、使用AJAX(上) Ajax起步: 使用Ajax事件: Ajax请求的错误处理: 中止Ajax请求: 三十...

  • ajax学习笔记

    Ajax学习笔记 Ajax简介 1. Ajax是什么? Ajax : Asynochronous javascri...

  • AJAX

    一、简介 AJAX菜鸟教程 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。 AJAX...

  • js之AJAX复习

    异步交互和同步交互 什么是Ajax? Ajax的工作原理。 Ajax包含的技术: Ajax的缺陷: Ajax的核心...

  • 复习jQuery - ajax

    jQuery ajax - ajax() 方法 $.ajax({ url:'oo.php', ...

  • jQuery中Ajax请求的使用和四个步骤示例

    ajax() 方法用于执行 AJAX(异步 HTTP)请求,所有的 jQuery AJAX 方法都使用 ajax(...

  • ajax

    1、什么是ajax? 2、ajax的原理 3、ajax的核心对象 4、ajax的优点: ajax的缺点: 被jqu...

  • ajax

    Ajax 1 - 请求纯文本 Ajax 2 - 请求JSON数据 Ajax 3 - 请求Github接口 Ajax...

网友评论

      本文标题:★ Ajax

      本文链接:https://www.haomeiwen.com/subject/myltzhtx.html