原生的ajax+vue请求数据渲染数据

// 定义工具方法

let Util = {

    /**

    * 发送异步请求

    * @url 请求的地址

    * @fn 请求成功时候的回调函数

    **/

    getData(url, fn) {

        // 实例化xhr对象

        let xhr = new XMLHttpRequest();

        // 监听状态变化

        xhr.onreadystatechange = () => {

            // 监听数据请求完毕

            if (xhr.readyState === 4) {

                // 判断状态码

                if (xhr.status === 200) {

                    // 将数据转化成json字符串

                    fn && fn(JSON.parse(xhr.responseText))

                }

            }

        }

        // 打开请求

        xhr.open('GET', url, true);

        // 发送数据

        xhr.send(null)

    },

    postData(url, params, fn) {

        // 实例化xhr对象

        let xhr = new XMLHttpRequest();

        // 监听状态变化

        xhr.onreadystatechange = () => {

            // 监听数据请求完毕

            if (xhr.readyState === 4) {

                // 判断状态码

                if (xhr.status === 200) {

                    // 将数据转化成json字符串

                    fn && fn(JSON.parse(xhr.responseText))

                }

            }

        }

        // 打开请求

        xhr.open('POST', url, true);

        xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=utf-8");

        // 发送数据

        xhr.send(params);

    },

    /**

    * 将对象转化成query的形式

    * @obj 转化的对象 {color:red, num:100}

    * return ?color=red&num=100

    **/

    objToQuery(obj,type) {

        type = type ? '':'?';

        let result = '';

        // 遍历对象,转化成json

        for (var i in obj) {

            result += '&' + i + '=' + obj[i]

        }

        // 去除最后一个&

        return type + result.slice(1)

    }

}

new Vue({

  el:"#app",

  data:{

    msg:"hello world",

    list:[]

  },

  created:function(){

    var that = this;

    // 提供post,get请求

    Util.getData("https://a.daxiangclass.com/offer.php/api/v1/interview?page=1&size=100",function(res){

        that.list = res.data;     

    });

  }

})

{{item.title}}



在HTML文档

<p>{{item.title}}</p>//渲染数据

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,600评论 1 45
  • AJAX 原生js操作ajax 1.创建XMLHttpRequest对象 var xhr = new XMLHtt...
    碧玉含香阅读 3,256评论 0 7
  • 我们自己模仿着jQuery封装Ajax请求。 原生的Ajax请求上篇文章已经都说清楚了,大家应该会感觉调用起来代码...
    zhanghao121阅读 247评论 0 0
  • 好,我们接着上篇的内容接续来讲解Ajax相关的内容。今天要将的是我们自己模仿着jQuery封装Ajax请求。 原生...
    Emotion_C阅读 334评论 0 0
  • # Ajax标签(空格分隔): 笔记整理---[TOC]### 从输入网址开始:- 在学习ajax之前,你应该先了...
    V8阅读 277评论 1 0