Запрос на удаление Axios не принимает данные тела - PullRequest
0 голосов
/ 03 апреля 2019

Я новичок в react redux.Здесь у меня есть delete request

export const deleterequest = (url, jdId) =>
    axios.delete(
        url,
        jdId,
        {
            headers: {
                "Authorization": localStorage.getItem("access_token") !== null ? `Bearer ` + localStorage.getItem("access_token") : null,
                "Content-Type": "application/json"
            }
        }
    ).then(data => {
        if (data.status === HttpStatus.OK) {
            return {
                status: data.status,
                payload: data.data
            };
        }
    }).catch(err => {
        return {
            status: err.response ? err.response.data : 'Network error',
            payload: null
        };

Итак, я попробовал с этим apporch.jdId это массив строк.Итак, но когда я использую таким образом, тогда мой заголовок запроса не показывает эти данные.

Итак, что я делаю неправильно.Может ли кто-нибудь помочь мне с этим?

Ответы [ 2 ]

1 голос
/ 03 апреля 2019

запросы на удаление с телом должны быть установлены под ключом данных

export const deleterequest = (url, jdId) =>
    axios.delete(
        url,
        { data: jdId },
        {
            headers: {
                "Authorization": localStorage.getItem("access_token") !== null ? `Bearer ` + localStorage.getItem("access_token") : null,
                "Content-Type": "application/json"
            }
        }
    ).then(data => {
        if (data.status === HttpStatus.OK) {
            return {
                status: data.status,
                payload: data.data
            };
        }
    }).catch(err => {
        return {
            status: err.response ? err.response.data : 'Network error',
            payload: null
 };
0 голосов
/ 03 апреля 2019

Axios поддерживает отправку тела в запросе на удаление. В этом случае вам придется отправить его в формате:

axios.delete(
    url,
    {
        data: { jdId }, // or data: jdId, depending on how you handle it in the back end
        headers: {
            "Authorization": localStorage.getItem("access_token") !== null ? `Bearer ` + localStorage.getItem("access_token") : null,
            "Content-Type": "application/json"
        }
    }
)
.then(data => { 
    // rest of your code 
})
.catch(err => { 
    // handle error 
})

Axios ожидает только один объект конфигурации в запросе на удаление. (См. Здесь: https://github.com/axios/axios#axiosdeleteurl-config) Конфигурация, как ожидается, будет иметь два дополнительных ключа, а именно: data и заголовки . data - это не что иное, как тело запроса.

Надеюсь, это поможет вам.

...