需求: 需要不断接收后端传过来的数据流, 但是axios请求是打包完,一股脑的显示在界面上, 所以就没办法用axios了. fetch()可以分块读取.
axios在url 后面{}里面写需要请求携带的参数就可以了
写法:
this.$axios
.post(url,{}) // {}里面是json数据
.then(() => {})
.catch((error) => {
console.log(error);
});
但是fetch中,在url后面加{JSON} 是没有效果的,在F12请求里也是看不到携带的json.
需要这样写:
method: "post",
headers: {
"Content-type": "application:/x-www-form-urlencoded:charset=UTF-8",
},
body: JSON.stringify(data),
data里面就是你要携带的json参数了
总体是这样的:
let data = { request: "stream" };
let url = " /api/serial";
fetch(url, {
method: "post",
headers: {
"Content-type": "application:/x-www-form-urlencoded:charset=UTF-8",
},
body: JSON.stringify(data),
})
.then((r) => r.body.getReader())
.then(f);
},