http 415 错误

一、 场景

在公司做后台管理项目的时候,客户要求某一数据列表要有 勾选导出 和 全部导出,在我添加完 勾选功能导出的时候,控制台报了这样一个错误。
http 415 错误_第1张图片

二、 原因

造成415错误的方式大概有两种:

  1. 数据请求的 contentType 与后端不一致
  2. 要发送的数据格式不正确

然后看了自己要传输的 aids 属性格式,一个对象里面包含一个属性名,属性名对应一个array数组,没毛病。
再打开 swaggerUI 确认发送的数据格式,跟后端同事确认了了之后,也没毛病。

三、解决

那既然都没有毛病,可能就是 axios 封装的参数不正确了,然后去 fetch.ts文件中找错误,fetch.ts 上一层是控制层,既然fetch.ts 是早就封装好的,那应该问题不大,我们去控制层dataview.ts层找,果然如此:

/**
 * @description 根据查询条件勾选导出数据
 * @param {Object} any
 */
export function getExportSelItems(data: any): Promise<{}> {
    return Fetch.fetch({
        url: API_CONTROLLER + '/ExportSelItems',
        method: 'post',
        data, // 这个地方看看后端需要的格式是params还是data
        responseType: 'arraybuffer' // 如果是导出或者下载格式的,需要加arraybuffer 配置
    })
}

至此就解决了,fetch.ts 里是封装好的 axios ,这里的配置,等有空再补上。

你可能感兴趣的:(js,报错分享)