AJAX

作者: fanison | 来源:发表于2020-06-30 22:00 被阅读0次

什么是AJAX

异步JavaScript和XML。ajax是一种技术方案,但并不是一种新技术。它依赖的是现有的CSS/HTML/Javascript,而其中最核心的依赖是浏览器提供的XMLHttpRequest对象,是这个对象使得浏览器可以发出HTTP请求与接收HTTP响应。 实现在页面不刷新的情况下和服务端进行数据交互。

//创建 XMLHttpRequest 对象
var xhr = new XMLHttpRequest()
//第三个参数的值为 false,则该 XMLHttpRequest请求以同步模式进行,否则该过程将以异步模式完成。
xhr.open('GET', 'url', true)
xhr.onreadystatechange = function(){
    if(xhr.readyState === 4) {
        if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){
            //成功了
            console.log(xhr.responseText)
        } else {
            console.log('服务器异常')
        }
    }
}
xhr.send()
readyState状态码
  • 0 UNSENT 代理被创建,但尚未调用 open() 方法。
  • 1 OPENED open() 方法已经被调用。
  • 2 HEADERS_RECEIVED send() 方法已经被调用,并且头部和状态已经可获得。
  • 3 LOADING 下载中; responseText 属性已经包含部分数据。
  • 4 DONE 下载操作已完成。
var xhr = new XMLHttpRequest()
xhr.open('GET', 'url', true)
xhr.onload = function(){
    if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){
        //成功了
        console.log(xhr.responseText)
    } else {
        console.log('服务器异常')
    }
}
xhr.onerror = function(){
    console.log('服务器异常')
}
xhr.send()

封装AJAX

function ajax(method, url) {
  return new Promise((resolve, reject) => {
    const request = new XMLHttpRequest();
    request.open(method, url);
    request.onreadystatechange = () => {
      if (request.readyState === 4) {
        if (request.status === 200) {
          resolve(request.response);
        } else {
          reject(request);
        }
      }
    };
    request.send();
  });
}
ajax("get", "http://qq.com:8888/friends.json").then(response => {
  console.log("这是 AJAX");
  console.log(response);
});

JSON

支持的数据类型

  • string,只支持双引号,不支持单引号和无引号
  • number,支持科学计数法
  • bool, true和false
  • null
  • object
  • array
    不支持函数,也不支持变量
JSON.parse

JSON字符串 => JS数据
将符合 JSON语法的字符串转换成 JS对应类型的数据

JSON.stringify

JS数据 => JSON字符串

相关文章

  • 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/njufqktx.html