经过几天的日志挖掘,更改存储库和许多挫败感。 我正在使用Heroku上托管的rails api,也托管在Heroku上的vue前端应用程序。
在验证从Vue到Rails的发布请求时,发生错误。 我已经读过这篇文章-
Client Request Interrupted in 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 =“客户端请求中断” method = POST path =“ / authenticate” host = api-url request_id = 9c3016cd-910a-4sd1f-9020-e0asd280e8 fwd =“ ip” dyno = web.1 connect = 2ms服务= 289ms状态= 499字节=协议= https
有时,请求成功登陆,并且一切正常,有时不正常。 大约50 \ 50 ...
如果我先登录然后注销,则在大多数情况下会再次登录,然后弹出问题。 有时,它会在第一次尝试时立即发生,而在第二次尝试中会正常运行。 我尝试更改发送的参数,但尝试了所有字符串插值变化,但均未成功。
要关联,在发送带有用户凭据的帖子请求之后 rails运行身份验证方法,该方法确认用户并以字符串形式发送回auth令牌。
答案 0 :(得分:2)
原因-多个请求冲突到服务器端。 显然,我忘记了阻止“提交”按钮的默认操作。因此,当Js发送ajax请求时,提交按钮所在的表单发送了它自己的请求。 现在是延迟的问题了,当js请求第一次出现时,它就被表单请求打断了。