欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中XMLHttpRequest的使用方法詳解

 更新時(shí)間:2023年05月10日 08:52:34   作者:早起的年輕人  
Vue中使用XMLHttpRequest(XHR)可以獲取數(shù)據(jù)的方式與傳統(tǒng)的HTML頁面相同,本文主要來和大家講講它的正確使用方法,希望對(duì)大家有所幫助

Vue中使用XMLHttpRequest(XHR)來獲取數(shù)據(jù)的方式與傳統(tǒng)的HTML頁面相同。以下是Vue中XMLHttpRequest的詳細(xì)使用方法:

1.創(chuàng)建XMLHttpRequest對(duì)象

var xhr = new XMLHttpRequest();

2.設(shè)置請(qǐng)求參數(shù)

xhr.open('GET/POST', url, true); //第三個(gè)參數(shù)是是否異步請(qǐng)求,默認(rèn)為true

3.監(jiān)聽狀態(tài)變化

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

4.發(fā)送請(qǐng)求

xhr.send(data); //data是請(qǐng)求參數(shù),可以是字符串、FormData等

5.獲取響應(yīng)數(shù)據(jù)

//String類型,返回的響應(yīng)數(shù)據(jù),如果響應(yīng)內(nèi)容類型是json,則需要解析
xhr.responseText
 //XMLDocument類型,返回XML格式的響應(yīng)數(shù)據(jù)
xhr.responseXML

在Vue中,可以將XHR封裝在methods中的方法里,然后在Vue實(shí)例中調(diào)用該方法來實(shí)現(xiàn)數(shù)據(jù)的獲取和渲染。以下是一個(gè)簡(jiǎn)單的例子:

<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協(xié)議實(shí)現(xiàn)的。 XMLHttpRequest對(duì)象有一個(gè)readyState屬性,表示XMLHttpRequest對(duì)象的狀態(tài)。

  • 當(dāng)readyState為0時(shí),XMLHttpRequest對(duì)象已經(jīng)創(chuàng)建,但還未初始化。
  • 當(dāng)readyState為1時(shí),XMLHttpRequest對(duì)象已經(jīng)調(diào)用open()方法,但還未發(fā)送請(qǐng)求。
  • 當(dāng)readyState為2時(shí),XMLHttpRequest對(duì)象已經(jīng)發(fā)送請(qǐng)求,但還未接收到響應(yīng)。
  • 當(dāng)readyState為3時(shí),XMLHttpRequest對(duì)象已經(jīng)接收到部分響應(yīng)數(shù)據(jù)。
  • 當(dāng)readyState為4時(shí),XMLHttpRequest對(duì)象已經(jīng)接收到全部響應(yīng)數(shù)據(jù)并解析完畢。

XMLHttpRequest對(duì)象還有一個(gè)status屬性,表示HTTP響應(yīng)狀態(tài)碼。常見的HTTP狀態(tài)碼有200表示請(qǐng)求成功,404表示請(qǐng)求的資源未找到,500表示服務(wù)器端內(nèi)部錯(cuò)誤等。

當(dāng)XMLHttpRequest對(duì)象接收到HTTP響應(yīng)時(shí),客戶端腳本會(huì)根據(jù)響應(yīng)頭中的Content-Type字段來判斷響應(yīng)內(nèi)容的類型。

  • 如果Content-Type為text/xml,客戶端腳本可以使用responseXML屬性來獲取XML格式的響應(yīng)數(shù)據(jù)。
  • 如果Content-Type為text/plain或application/json,客戶端腳本可以使用responseText屬性來獲取純文本格式的響應(yīng)數(shù)據(jù),然后解析成JSON對(duì)象。

到此這篇關(guān)于Vue中XMLHttpRequest的使用方法詳解的文章就介紹到這了,更多相關(guān)Vue XMLHttpRequest內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue+springboot實(shí)現(xiàn)項(xiàng)目的CORS跨域請(qǐng)求

    vue+springboot實(shí)現(xiàn)項(xiàng)目的CORS跨域請(qǐng)求

    這篇文章主要介紹了vue+springboot實(shí)現(xiàn)項(xiàng)目的CORS跨域請(qǐng)求,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • 帶你了解前端的幾種包管理器(npm/pnpm等)

    帶你了解前端的幾種包管理器(npm/pnpm等)

    隨著前端工程化的應(yīng)用越來越廣,插件和包的管理也逐漸衍生出很多的管理器,常見的幾種包管理器如:npm、cnpm、yarn、pnpm,那你知道這些管理器之間有哪些區(qū)別嗎?我們一起來逐個(gè)認(rèn)識(shí)下它們
    2023-04-04
  • Vue動(dòng)態(tài)設(shè)置img的src不生效的問題解決

    Vue動(dòng)態(tài)設(shè)置img的src不生效的問題解決

    本文主要介紹了Vue動(dòng)態(tài)設(shè)置img的src不生效的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • Vue多系統(tǒng)切換實(shí)現(xiàn)方案

    Vue多系統(tǒng)切換實(shí)現(xiàn)方案

    本篇文章給大家分享了關(guān)于Vue多系統(tǒng)切換實(shí)現(xiàn)的解決方案,對(duì)此有需要的朋友可以跟著參考學(xué)習(xí)下。
    2018-06-06
  • Vue事件修飾符native、self示例詳解

    Vue事件修飾符native、self示例詳解

    這篇文章主要給大家介紹了關(guān)于Vue事件修飾符native、self的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Vue.js的模板語法詳解

    Vue.js的模板語法詳解

    Vue.js 的核心是一個(gè)允許你采用簡(jiǎn)潔的模板語法來聲明式的將數(shù)據(jù)渲染進(jìn) DOM 的系統(tǒng)。這篇文章重點(diǎn)給大家介紹Vue.js的模板語法,感興趣的朋友跟隨小編一起看看吧
    2020-02-02
  • 解決VuePress頁面亂碼問題

    解決VuePress頁面亂碼問題

    這篇文章主要介紹了解決VuePress頁面亂碼問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue項(xiàng)目中解決數(shù)字精度丟失問題

    Vue項(xiàng)目中解決數(shù)字精度丟失問題

    我們知道,浮點(diǎn)類型的數(shù)據(jù),在計(jì)算機(jī)中是以二進(jìn)制的方式存儲(chǔ)的,但是表示的數(shù)據(jù)也有個(gè)上限和下限,當(dāng)超過限制?,在計(jì)算機(jī)上顯示只能取最接近的限值,?數(shù)字解析精度丟失說的就是這個(gè)現(xiàn)象,所以本文給大家介紹了Vue項(xiàng)目中解決數(shù)字精度丟失問題的解決,需要的朋友可以參考下
    2024-02-02
  • vue+axios 前端實(shí)現(xiàn)的常用攔截的代碼示例

    vue+axios 前端實(shí)現(xiàn)的常用攔截的代碼示例

    這篇文章主要介紹了vue+axios 前端實(shí)現(xiàn)的常用攔截的代碼示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • Vue3+Koa2實(shí)現(xiàn)圖片上傳功能的示例代碼

    Vue3+Koa2實(shí)現(xiàn)圖片上傳功能的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何使用Vue3和Koa2實(shí)現(xiàn)圖片上傳功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02

最新評(píng)論