欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue中fetch方法

李中冰1年前9瀏覽0評論

對于前端開發(fā)人員而言,Web API 的使用是不可避免的一部分。而現(xiàn)在,隨著 Vue.js 的發(fā)展,已經(jīng)有了一種新的 Web API 使用方式:fetch 方法。fetch 方法可以幫助我們在 Vue.js 項目中使得數(shù)據(jù)獲取變得更加方便。

首先,我們來看看 fetch 方法的語法。它的語法比較簡單,只需要用 fetch() 函數(shù)包括一個 URL 參數(shù)即可。例如:

fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response =>response.json())
.then(json =>console.log(json))

在 fetch() 函數(shù)中,你要傳入 URL 參數(shù),這個參數(shù)可以是一個 URL 字符串,也可以是一個使用 Request 對象構(gòu)造器創(chuàng)建的請求對象。XHR 和 jQuery Ajax 等庫使用的都是這種方式,而 fetch 方法在使用時也類似。

上面的例子中,我們使用了 then() 方法來處理返回結(jié)果。Response 對象的 json() 方法將響應體解析成一個 JavaScript 對象,并返回一個 Promise。在上面的例子中,最終得到的結(jié)果是一個具有 id、title 和 completed 這三個屬性的對象。

現(xiàn)在,我們來看一下如何在 Vue.js 項目中使用 fetch 方法。其實,它和在普通的 JavaScript 項目中使用方式是極其類似的:

mounted() {
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response =>response.json())
.then(json =>this.todos = json)
}

如果你是一個有經(jīng)驗的 Vue.js 開發(fā)人員,你能夠看出這里的代碼和平常在使用 Vue.js 中鉤子函數(shù)的樣子類似。我們是在 mounted 鉤子函數(shù)中使用了 fetch 方法,來獲取指定 URL 中的數(shù)據(jù)。

如果在使用過程中遇到跨域問題,我們也可以使用 JSONP 解決:

let script = document.createElement('script');
script.type = 'text/javascript';
let jsonp = 'https://jsonplaceholder.typicode.com/todos/1?callback=foo';
script.src = jsonp;
document.getElementsByTagName('head')[0].appendChild(script);
function foo(data) {
console.log(data)
}

這里,我們定義了一個新的 script 元素,并傳入一個 URL。這個 URL 中包含 callback=foo 的參數(shù),這個參數(shù)告訴服務(wù)器在響應中包含對 foo 函數(shù)的調(diào)用。我們在解析數(shù)據(jù)的時候,將會把 foo 函數(shù)調(diào)用的結(jié)果當做數(shù)據(jù)值。這樣,我們就直接繞過了 CORS 的限制。

在 Vue.js 項目中使用 fetch() 并不會與 Vue.js 的其他特性產(chǎn)生沖突,而且使用起來也十分方便。同時,fetch() 在處理數(shù)據(jù)和錯誤上比傳統(tǒng)用法更為直觀和靈活,盡管缺少對請求細節(jié)控制的支持,總的來說,使用 fetch() 更為安全、方便和整潔。