直奔主題
經常會有同學說格式寫的非常正確,變量名也無偏差,可後臺就是獲取不到數據。文檔中的post請求是這樣的,傳參是以對象的形式
axios.post('url', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
在Axios的post請求中如果傳遞的參數是對象類型的,Axios會自動將對象轉化爲json格式的字符串使用 application/json 的請求頭向後端服務接口傳遞參數。而一般情況下,後端獲取參數,請求頭的需要是 application/www-x-form-urlencoded 。
Axios的post請求接收參數的兩種方式:
1)使用字符串進行參數傳遞 如:“firstName=Fred&lastName=Flintstone”
var firstName = "Fred";
var lastName = "Flintstone";
axios.post('url', "firstName=" + firstName + "&lastName=" + lastName )
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
2)post請求仍以對象類型傳遞數據,後端接口直接使用**@RequestBody**註解形式接收參數 。此時前臺傳遞的數據必須是json格式,且請求頭必須是 application/json(其實是自動的,如有意外也可手動),後端會把其轉換成一個對象,這就要求對象中的屬性名和json中的屬性名一致。這個就需要和後端的同志溝通的。
如果還有其他觀點,歡迎留言!