Vue 能夠請求 Servlet,是因為它內(nèi)置了一些可以用來發(fā)送 HTTP 請求的庫,例如 Axios 和 Fetch。這些庫可以向服務(wù)器發(fā)送 GET、POST、PUT、DELETE 等請求,并且可以傳遞參數(shù)和請求頭。
要發(fā)送一個 HTTP 請求,首先需要創(chuàng)建一個 Axios 或 Fetch 的實例。對于 Axios,可以使用它的 create 方法:
const axiosInstance = axios.create({ baseURL: 'http://localhost:8080/myapp' });
這個實例可以設(shè)置一些默認參數(shù),例如 baseURL 和 headers。接下來,用這個實例來發(fā)送請求。對于 GET 請求,可以直接使用實例的 get 方法:
axiosInstance.get('/users').then(response =>{ console.log(response.data); }).catch(error =>{ console.error(error); });
這個例子向 /users 路徑發(fā)送了一個 GET 請求,并且在請求成功后在控制臺輸出響應(yīng)數(shù)據(jù)。如果請求失敗,會輸出錯誤信息。
對于 POST 和 PUT 請求,需要在請求中傳遞數(shù)據(jù)。可以將數(shù)據(jù)作為第二個參數(shù)傳遞給 Axios 實例的 post 或者 put 方法:
axiosInstance.post('/users', { name: '張三', age: 20 }).then(response =>{ console.log(response.data); }).catch(error =>{ console.error(error); });
這個例子向 /users 路徑發(fā)送了一個 POST 請求,并且在請求成功后在控制臺輸出響應(yīng)數(shù)據(jù)。請求中傳遞的數(shù)據(jù)是一個對象,這個對象會被轉(zhuǎn)換成 JSON 格式發(fā)送到服務(wù)器。
用 Axios 或 Fetch 發(fā)送 HTTP 請求時,還可以設(shè)置請求頭和請求參數(shù)。請求頭可以通過 headers 屬性設(shè)置,例如:
axiosInstance.get('/users', { headers: { Authorization: 'Bearer ' + token } });
這個例子設(shè)置了一個 Authorization 請求頭,值為一個字符串。請求參數(shù)可以通過 params 屬性設(shè)置,例如:
axiosInstance.get('/users', { params: { name: '張三', age: 20 } });
這個例子設(shè)置了兩個請求參數(shù),分別是 name 和 age。這些參數(shù)會被轉(zhuǎn)換成查詢字符串,然后添加到請求 URL 后面。
以上是 Vue 請求 Servlet 的簡介,Axios 或 Fetch 的用法也只是其中一部分,它們還有很多高級用法,例如請求攔截器、響應(yīng)攔截器、并發(fā)請求等。如果需要深入了解,可以參考官方文檔。