niaogege / niaogege.github.io

博客,记录生活,记录code
http://niaogege.cn
2 stars 1 forks source link

axios 踩过的坑 #32

Open niaogege opened 6 years ago

niaogege commented 6 years ago
self.axios.post(url, {a: 1, b:2}, {
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
  },
}).then(response => response.data)
  .then(data => {
    console.log(data);
  });

//这个Form Data后台取不到数据,正常的Form Data数据不是应该是健值对的么,像下面这样:

pageName:1111
id:60

加上qs好了:

var qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 });
niaogege commented 6 years ago

seg上的问题:Axios.all处理并发请求报错

axios实例没有all这个方法,all是axios的静态方法

niaogege commented 6 years ago

导出文件Blob格式的:

function downloadFile(blob, fileName) {
  var link = document.createElement('a');
  link.href = window.URL.createObjectURL(blob);
  link.download = fileName;
  link.style.display = 'none';
  // link.click();
  // window.URL.revokeObjectURL(link.href);
  // 触发点击
  document.body.appendChild(link);
  link.click();
  // 然后移除
  document.body.removeChild(link);
}

有个前提是得知道文件名,比如这么调用

const fileName = '11.xls' //获取文件名
const blob = new Blob([data])
downloadFile(blob,fileName)
niaogege commented 6 years ago

js 设置header,实现跨域访问

预检请求

niaogege commented 6 years ago

默认default: post、put 都用 application/x-www-form-urlencoded 如果有指定的话,如content-type=application/json 或 multipart/form-data,就根据设置来

niaogege commented 6 years ago

http://javascript.ctolib.com/ssttm169-use-axios-well.html

axios请求超时,设置重新请求的完美解决方法