Код ошибки Heroku = H27 desc = Метод "Клиентский запрос прерван" = POST ИСПОЛЬЗУЯ РЕЙЛЫ На стороне сервера, внешний интерфейс Vue - PullRequest
0 голосов
/ 11 октября 2018

после нескольких дней копания логов, смены репозиториев и множества разочарований.Я использую rails api, размещенный на Heroku, приложение-интерфейс vue, также размещенное на Heroku.

при аутентификации почтового запроса от vue к rails, возникает ошибка.Я прочитал эту статью -

Запрос клиента прерван в Heroku

и во всех других связанных статьях, но я не видел конкретного ответа

this.$http.post('/authenticate',{'email':this.user.email,'password':this.user.password},{headers:
    {'Access-Control-Allow-Origin': '*'}}
  ).then((result)=>{
    localStorage.setItem('Authorization',result.data.auth_token);
    this.$http.defaults.headers.common['Authorization'] = localStorage.Authorization;
    this.$router.push('/');
  })
  .catch(error => {
    console.log(error.response);
    alert("Wrong cradentials, if you dont have an account - sign in");
  });

sock = client at = код предупреждения = H27 desc = метод "Клиентский запрос прерван" = путь POST = "/ authenticate" host = api-url request_id = 9c3016cd-910a-4sd1f-9020-e0asd280e8 fwd= "ip" dyno = web.1 connect = 2ms service = 289ms status = 499 bytes = protocol = https

Иногда запрос успешно завершается и все работает нормально, а иногда нет.около 50 \ 50 ...

если я войду в систему, то выйдите из системы, а затем снова войдите в систему большую часть времени, когда возникнет проблема.иногда это происходит сразу с первой попытки, а со второй работает нормально.Я попытался изменить отправленные параметры, но безуспешно попробовал все варианты интерполяции строк.

для связи, после того, как почтовый запрос, отправленный с помощью rails, использует методы authenticate, которые подтверждают пользователя и отправляют обратно authтокен в виде строки.

1 Ответ

0 голосов
/ 09 августа 2019

Причина - столкновение нескольких запросов на стороне сервера.по-видимому, я забыл запретить кнопке отправки работать по умолчанию.и поэтому, пока Js отправляет ajax-запрос, форма, в которой находилась кнопка отправки, отправляет свой собственный запрос.Теперь дело было в задержке, когда запрос js пришел первым, он был прерван запросом формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...