一個下載的接口
*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)
然后再試就可以了