React Native получает ответ 400 при публикации в oauth / token с использованием паспорта laravel

Я пытаюсь войти в систему через oauth / токены из моего проекта React Native. Я тестировал с POSTMAN. Когда я отправляю данные из axios, он работает хорошо. Но когда я пытаюсь отправить из своего приложения, он дает мне Ошибка: запрос не выполнен с кодом состояния 400, мой код:

axios({
method: 'post',
url: 'http://183.172.100.84:8000/oauth/token',
headers: { 
    'Accept': 'application/json',
        'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
},
data: {
    client_id : '2',
    client_secret : 'secret',
    grant_type : 'password',
    email : this.state.userEmail,
    password : this.state.userPassword
}
})
.then((response) => {
console.log(response.data);
})

person WahidSherief    schedule 25.10.2017    source источник
comment
Измените свой Content-Type на application\json и попробуйте еще раз   -  person reisdev    schedule 21.07.2018


Ответы (1)


Решил проблему так:

 axios({
method: 'post',
url: 'http://183.172.100.84:8000/oauth/token',
headers: { 
    'Accept': 'application/json',
        'Content-Type': 'application/json; charset=utf-8'
},
data: 'client_id=2&client_secret=secret&grant_type=password&email=' + this.state.userEmail+'&password='+this.state.userPassword    
})
.then((response) => {
console.log(response.data);
})

Кажется, у Axios есть проблемы с обработкой данных в формате json.

Если вы используете Webpack, вы также должны настроить прокси.

person Davide Castronovo    schedule 23.01.2018
comment
У меня не сработало, но я заставил его работать с помощью fetch facebook.github.io /react-native/docs/network.html - person Dazzle; 08.05.2018
comment
Это сработало, потому что теперь ваши данные x-www-form-urlencoded. Вы пытаетесь отправить JSON с неправильным Content-Type - person reisdev; 21.07.2018