Ax ios не показывает ответ данных после нажатия на API - PullRequest
0 голосов
/ 09 мая 2020

Вызов GET-запроса из клиентского приложения

axios.get('http://localhost:5000/users/login',user)
 .then((res) => {
    console.log(res);             
 });

GET-запрос API

User.findOne({email: email})
  .then(docs => {
    bcrypt.compare(password , docs.password, function(err, result) {
    if(result){
    return response.status(200).json({message : 'user found'})
   }else{
   return res.send(err);
   } });})
.catch(Err => response.send(Err))

ответное сообщение почтальона

массив пустого тела из клиентской консоли

Ответы [ 4 ]

0 голосов
/ 09 мая 2020

Пожалуйста, внесите два изменения:

1) Измените выборку данных журнала консоли

axios.get('http://localhost:5000/users/login',user)
 .then((res) => {
    console.log(res.data); //**<--- Here i change -->**             
 });

, если вы все еще обнаружите ошибку, то go для 2-го изменения

2 ) измените данные вашего запроса

User.findOne({email: req.body.email}) //**<--Here i change-->**
  .then(docs => {
    bcrypt.compare(password , docs.password, function(err, result) {
    if(result){
    return response.status(200).json({message : 'user found'})
   }else{
   return res.send(err);
   } });})
.catch(Err => response.send(Err))

как правило, в API вы должны запрашивать свои данные через тело, например. треб. Данные тела

0 голосов
/ 09 мая 2020

Вы пытаетесь отправить запрос GET с телом, что довольно необычно. Чтобы отправить запрос GET с телом в axios, вам необходимо следовать синтаксису ниже.

axios.get('http://localhost:5000/users/login',{
  data: user
})
 .then((res) => {
  console.log(res);             
});

Также убедитесь, что вы получаете параметры из тела вместо параметров запроса, которые в основном используются в GET Запрос.

0 голосов
/ 09 мая 2020

Вы также не отправляете пользователя обратно в свой ответ.

У вас есть return response.status(200).json({message : 'user found'})

Вы получаете ответ обратно (судя по картинке в вашем сообщении). Но вы также хотите отправить result.

0 голосов
/ 09 мая 2020

Попробуйте следующее:

User.findOne({email: req.body.email})

В вашем API вы должны указать, что тело письма получено из переднего запроса. Вы также можете попробовать использовать post вместо get, потому что вы отправляете тело в свой запрос.

...