後端傳遞時間字串如 2023-01-01+12:00:00,前端收到含 +,實為 URL 編碼空格 (%20 在 application/x-www-form-urlencoded 中常編為 +)。
var raw = "2023-01-01+12:00:00";
var decoded = decodeURIComponent(raw.replace(/\+/g, ' '));
// 結果: "2023-01-01 12:00:00"
原因:`decodeURIComponent` 不會自動將 + 視為空格,需先手動替換。
// 僅替換第一個 +,且未處理其他編碼字符
dataNow.measurementTime.replace("+", " ");
function parseQuery(str) {
return str.split('&').reduce((obj, pair) => {
var [k, v] = pair.split('=');
obj[decodeURIComponent(k)] = decodeURIComponent((v || '').replace(/\+/g, ' '));
return obj;
}, {});
}
+。decodeURIComponent 處理 URL 參數,而非手動 replace。