500 Internal Server Error问题如何解决?结果令人啼笑皆非
问题出现场景
register.html:
在利用ajax发送请求之后,我们手机会收到短信验证码,并且前端会收到后台的一个返回值,此时在我们的页面就要开始验证码倒计时,不知道什么原因就是显示不出来,后台运行代码也没报错,短信也是正常收到,搞了半天也没头绪,最后睡了一觉起来搞定了
处理思路:
1、后台没有问题,说明问题出现在了前端,我们F12查看当时点击获取验证码按钮,在console中果然出现了报红
2、【500 Internal Server Error】出现之后就要解决,在Network中找到报错的地方,点击后在后边找到Preview中看到详细报错信息
3、【AuthenticationError at /send/sms/ invalid password】意思就是在send/sms/url请求超时,原因是无效密码
4、查看之后说是在form.is_valid():这里卡住了,说明是我们的form实例化出错了,然后我们去创建的SendSmsForm类,在钩子函数中我们利用了redis链接池,去发送短信,发送完之后会给我们一个返回值,这里唯一用到的密码只能是连接池在local_settins中配置时的redis密码
5、去看了配置才发现,谁TM把我的密码多了个0,空气突然安静呀,改正确之后,重启项目,解决!
【总结】:
1、事后也想通了问题原因:由于我们的密码错误,所以我们的钩子函数在进行判断的时候卡住了,于是就导致我们的实例化form在判断是否有效的时候卡住,于是ajax请求收不到有效之后才能返回的值,所以就不会执行下面的显示验证码倒计时的事件函数;
2、遇到问题不要慌,根据报错的线索去逐步摸排,然后去解决,虽然最终原因有点意外,但是结果还是挺满意的
标签:01,验证码,Server,Internal,报错,Error,500
From: https://www.cnblogs.com/cool-bo/p/17355687.html