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

Vue中XMLHttpRequest的使用方法詳解

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

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

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

var xhr = new XMLHttpRequest();

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

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

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

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

4.發(fā)送請求

xhr.send(data); //data是請求參數(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實例中調(diào)用該方法來實現(xiàn)數(shù)據(jù)的獲取和渲染。以下是一個簡單的例子:

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

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

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

當(dāng)XMLHttpRequest對象接收到HTTP響應(yīng)時,客戶端腳本會根據(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對象。

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

相關(guān)文章

  • vue+springboot實現(xiàn)項目的CORS跨域請求

    vue+springboot實現(xiàn)項目的CORS跨域請求

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

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

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

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

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

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

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

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

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

    Vue.js的模板語法詳解

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

    解決VuePress頁面亂碼問題

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

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

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

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

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

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

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

最新評論