fetch() 请求携带参数与axios的区别

需求: 需要不断接收后端传过来的数据流,  但是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);
    },

猜你喜欢

转载自blog.csdn.net/weixin_39891473/article/details/128564727