問題:這次的編輯功能的表單有很多欄位,有一些沒有設定必填,測試發現清空後沒有更新還是上一次資料
定位問題:
1.回現問題-檢視請求載荷發現沒有空字串的欄位了
2.因為都是加了.trim(),懷疑是不是element不同版本對於空字串的處理造成的
試驗->去除.trim還是一樣的問題
繼續懷疑-》是不是元件庫的問題
3.後端說 編輯時如果什麼也不傳就不知道對這個欄位有什麼操作
同意,繼續排查
4.是不是axios配置了什麼
點選檢視程式碼
$axios.interceptors.request.use(
config => {
setRequestHeaders(config)
logRequest(config)
// 預設刪除請求中空白欄位 extraConfig
const noEmpty = has(config, 'noEmpty') ? config.noEmpty : true
if (noEmpty && config.data) {
config.data = removeEmptyProperties(config.data)
}
if (noEmpty && config.params) {
config.params = removeEmptyProperties(config.params)
}
return config
},
error => {
handleError(error)
return Promise.reject(error)
}
)
懷疑element元件庫都沒有懷疑axios配置,檢視請求攔截器還真是
解決問題:
最後請求方法配上 noEmpty: false
總結:經驗+1 排查過程有點呆