1.请求头数据一般用params,它是加在url后面的?key=value这种形式的键值对
2.请求体数据一般用data,它是url中看不出的,这种data一般有两种格式urlencoded和json格式。只要post才会用到请求体,
urlencoded的数据需要设置请求头的Content-Type字段的值为application/x-www-form-urlencoded;
json格式的数据需要设置请求头的Content-Type字段的值为application/json;
<script src="https://unpkg.com/axios@0.21.1/dist/axios.min.js"></script>
<script>
// console.log(axios)/
const url = `http://www.imooc.com/api/http/search/suggest?words=js`
axios(url,{
method:'post',
headers:{
'Content-Type':'application/x-www-form-urlencoded'
// 'Content-Type':'application/json'
},
params:{
username:'zjh'
},
data:"sex=male&age=18",//对应Content-Type为application/x-www-form-urlencoded
//对应Content-Type为application/json
// data:{
// sex:"male"
// }
//设置超时时间
// timeout:10,
//设置跨域携带cookie
// withCredentials:true,
}).then(response=>{
console.log(response);
})
</script>
使用urlencode格式发送给后端,后端写不写@RequestParam都行
但使用json格式发送给后端,后端需要使用@RequestBody来获取数据
使用@RequestBody 可接受的参数 String, Map,JSONObject,或者对应的JavaBean
具体