Quería enviar la fecha como parámetro al servicio con axios pero cuando lo envío sale como
mensajeStartDate=2021-12-21T11%3A47%3A54.810Z&messageEndDate=2021-12-21T11%3A47%3A59.718Z
Quería enviar como formato Iso pero hay %-A y algunas otras cosas. Cómo puedo arreglarlo.
así es como almaceno la fecha en redux.
const params = new URLSearchParams(); if (MessageDateStartValueRedux !== null) params.append('messageStartDate',new Date(MessageDateStartValueRedux).toISOString()); if (MessageDateEndValueRedux !==null) params.append('messageEndDate',new Date(MessageDateEndValueRedux).toISOString()); if (ValueDateStartValueRedux !== null) params.append('valueStartDate',new Date(ValueDateStartValueRedux).toISOString()); if (MessageDateEndValueRedux !== null) params.append('valueEndDate',new Date(MessageDateEndValueRedux).toISOString()); dispatch(setUrlParamsReducer(params));
y así es como lo uso
const getQueryString = () => `${DEFAULT_URL}?page=${currentPage}&size=${pageSize}`+status; const param = useSelector(state => state.urlParamsReducer); console.log(param.toString()); const loadData = () => { const queryString = getQueryString(); if ((queryString !== lastQuery || param.toString() !== lastParam.toString()) && !loading) { axios.get(queryString, {params: param}) .then((response) => { setRows(response.data.data); setTotalCount(response.data.totalCount); }).catch(() => setLoading(false)); } } useEffect(() => loadData(), [param,getQueryString()]);
%3a es la codificación de URL de un carácter ':'. La URL decodificada es
messageStartDate=2021-12-21T11:47:54.810Z&messageEndDate=2021-12-21T11:47:59.718Z
como se esperaba