vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue XMLHttpRequest

Vue中XMLHttpRequest的使用方法详解

作者:早起的年轻人

Vue中使用XMLHttpRequest(XHR)可以获取数据的方式与传统的HTML页面相同,本文主要来和大家讲讲它的正确使用方法,希望对大家有所帮助

Vue中使用XMLHttpRequest(XHR)来获取数据的方式与传统的HTML页面相同。以下是Vue中XMLHttpRequest的详细使用方法:

1.创建XMLHttpRequest对象

var xhr = new XMLHttpRequest();

2.设置请求参数

xhr.open('GET/POST', url, true); //第三个参数是是否异步请求,默认为true

3.监听状态变化

xhr.onreadystatechange = function() {
    if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
        //请求成功
    }
}

4.发送请求

xhr.send(data); //data是请求参数,可以是字符串、FormData等

5.获取响应数据

//String类型,返回的响应数据,如果响应内容类型是json,则需要解析
xhr.responseText
 //XMLDocument类型,返回XML格式的响应数据
xhr.responseXML

在Vue中,可以将XHR封装在methods中的方法里,然后在Vue实例中调用该方法来实现数据的获取和渲染。以下是一个简单的例子:

<template>
  <div>
    <ul>
      <li v-for="item in list" :key="item.id">{{item.title}}</li>
    </ul>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        list: []
      }
    },
    methods: {
      getList() {
        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'https://jsonplaceholder.typicode.com/todos', true);
        xhr.onreadystatechange = function() {
          if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
            this.list = JSON.parse(xhr.responseText);
          }
        }.bind(this);
        xhr.send();
      }
    },
    mounted() {
      this.getList();
    }
  }
</script>

XMLHttpRequest 是怎么回事

XMLHttpRequest(XHR)底层是基于HTTP协议实现的。 XMLHttpRequest对象有一个readyState属性,表示XMLHttpRequest对象的状态。

XMLHttpRequest对象还有一个status属性,表示HTTP响应状态码。常见的HTTP状态码有200表示请求成功,404表示请求的资源未找到,500表示服务器端内部错误等。

当XMLHttpRequest对象接收到HTTP响应时,客户端脚本会根据响应头中的Content-Type字段来判断响应内容的类型。

到此这篇关于Vue中XMLHttpRequest的使用方法详解的文章就介绍到这了,更多相关Vue XMLHttpRequest内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文