一个下载的接口
*export({ payload }, { put }) { yield put({ type: 'updateState', payload: { ...payload, selectedRows: [], loading: true }, }); window.location.href = `${Config.merc_down_file_url}?ID=${payload.ID === undefined ? null : payload.ID}&LOG_NOS=${payload.LOG_NOS === '' ? null : escape(payload.LOG_NOS)}`; },
其中参数LOG_NOS是一个数组转的json字符串
一开始写法是
LOG_NOS=${payload.LOG_NOS === '' ? null : payload.LOG_NOS}
这个时候好像是因为拼接的url中有数组的中括号标志[],所以发请求之后报400
找了很久在一个博客里找到了解决办法,但是不好意思那个博主,忘了复制地址了
就是使用escape()方法
将参数拼接改成
LOG_NOS=${payload.LOG_NOS === '' ? null : escape(payload.LOG_NOS)
然后再试就可以了