#javascript #reactjs #axios
#javascript #reactjs #axios
Вопрос:
Я пытаюсь передать данные в теле API типа get в react.js приложение. Я использую следующий код. Но Api не получает никаких данных.
getUnits = ( key, text, code, limit, offset ) => {
let data = JSON.stringify( { unit: { key, text, code, limit, offset } } );
let config = {
method: 'get',
url: BaseURL 'unit',
headers: { 'Content-Type': 'application/json' },
data: data
};
axios( config ).then( res => {
store.dispatch( {
type: GET_UNIT,
payload: res.data.units
} )
} ).catch( err => {
console.log(err);
})
})
}
Комментарии:
1. Метод GET не имеет раздела body. Вы можете передавать данные через строку запроса и получать их в серверной части.
2. Но когда мы запускаем этот Api в postman. Api отвечает на предоставленные данные. Это означает, что есть способ, с помощью которого мы можем передавать данные для получения api типа в теле.
3. на какой платформе находится ваш серверный сервер? Это в NodeJS?
4. Моя серверная платформа находится в Node js. и когда мы видим код postman, который использует axios.
5. @Shoaib Нет, postman не использует axios. Какой код вы имеете в виду?
Ответ №1:
Добавляя к тому, что прокомментировала @Jayna, вы не можете отправить тело с запросом get. Вы можете сделать это в Postman и сгенерировать для него код axios, но он не будет работать из-за XMLHTTPREQUEST javascript. Тело игнорируется в запросе get по умолчанию
1вместо этого вам нужно передать параметры следующим образом:
let config = {
method: 'get',
url: BaseURL 'unit',
headers: { 'Content-Type': 'application/json' },
params: {
field1: 'field1',
field2: 'field2'
}
};
Итак, я предлагаю изменить ваш URL-адрес на серверной части, чтобы принимать параметры запроса и отправлять запрос axios get следующим образом.