Ajax

作者: 啃香菜的花萝萝 | 来源:发表于2019-03-09 18:40 被阅读0次

Ajax请求是客户端向服务器发送的一种异步请求。优点就是可以与服务器交换数据并且更新局部网页的内容。

xmlHttpRequest对象

  • get请求
<script>
(function() {
  // 创建XMLHttpRequest 对象
  var xhr = new XMLHttpRequest();
    xhr.open('GET', 'https://reqres.in/api/users?page=2');
    // 注册回调
    xhr.onload = function() {
      console.log('request status: ', xhr.status);
      console.log('response data: ', xhr.responseText);
    }
    xhr.send();
 })();
</script>
效果: ajax的get请求
  • post请求
<script>
  (function() {
    var xhr = XMLHttpRequest();
    xhr.open('POST', 'https://reqres.in/api/register');
    // 设置发送数据的格式为json类型
    xhr.setRequestHeader('Content-Type', 'application/json');
    xhr.onload = function() {
      if(200<= xhr.status <=299) {
        console.log('result: ', JSON.parse(xhr.responseText));
        // 显示到页面中
        var h = document.createElement('h1');
        h.innerHtml = JSON.parse(xhr.responseText).token;
        document.body.appendChild(h);
      }
    }
    xhr.send(JSON.stringify({
      email: 'sun@123.com',
      password: '112233'
    }));
  }) ()
</script>
效果: ajax的post请求

Fetch

Fetch API提供了一个JS接口,用于操作HTTP请求及响应,异步获取资源。
下面2个的返回类型都是 Promise
res.json()格式化为json格式
res.text()格式化为普通文本

<script>
  (function() {
    fetch('https://reqres.in/api/users/2')
    .then(res => res.json())
    .then(res => console.log(res));
  }) ();
</script>
效果: fetch请求数据

  • jquery
  • vue的axios
  • angular的http

Promise

resolvereject是Promise的两个内置函数。
其中resolve事件用then等待;reject事件用catch等待。

function orderFood() {
  return new Promise((resolve, reject) => {
    if (Math.random() > 0.5) {
      resolve('订单正在派送');
    } else {
      reject('菜炒糊了,再等等哟。');
    }
  })

orderFood().then(res => {
  console.log(res);
}).catch(res => {
  console.log(res);
})

console.log('print after above finish');
}

效果:

Promise例子
可以看到的是 print after above finish 这句话先打印,这是因为异步的关系。

相关文章

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