【发布时间】:2021-01-21 22:38:42
【问题描述】:
我正在构建一个网页,目前卡在代码的登录页面部分。每当我尝试登录时,我都会收到此错误警告:“HTTP/1.1 POST /check-login”- 405 Method Not Allowed。我已经检查了几次我的代码,并将其与我正在关注的讲座视频进行了比较,但到目前为止我所尝试的一切似乎都无法让我克服这个错误。我对自学编码还很陌生,所以答案可能很简单,我只是看不到它。该项目适用于多种编程语言,并且位于多个不同的页面上。大部分代码是 Python 和 HTML,其中一页是 java 脚本。我认为 java 脚本页面可能是导致卡顿的原因,因为这是检查登录代码的主要设置位置。如果有人可以帮助我确定问题出在哪里以及如何纠正它,我将不胜感激。这些是我认为与正在发生的问题相关的代码部分。
1.
$(document).on("submit", "#login-form", function(e){
e.preventDefault();
var form = $(this).serialize();
$.ajax({
url: '/check-login',
type: 'POST',
data: form,
success: function(res){
if(res == "error"){
alert("Could not log in");
}
else{
console.log("Login as ", res);
window.location.href = "/";
}
}
});
});
import pymongo
from pymongo import MongoClient
import bcrypt
class LoginModel:
def __init__(self):
self.client = MongoClient()
self.db = self.client.codewizard
self.Users = self.db.users
def check_user(self, data):
user = self.Users.find_one({"username": data.username})
if user:
if bcrypt.checkpw(data.password.encode(), user["password"]):
return user
else:
return False
else:
return False
-
类检查登录: def 帖子(自己): 数据 = web.input() 登录 = LoginModel.LoginModel() isCorrect = login.check_user(data)
if isCorrect: return isCorrect return "error"
【问题讨论】:
-
你没有在 python 代码中向我们展示你的路由定义。不受支持的方法意味着您的路由可能绑定到 GET 而不是 POST 之类的东西。
-
这就是你的意思吗:从模型导入 web import RegisterModel, LoginModel urls = ( '/', 'Home', '/Login', 'Login', '/register', 'Register' , '/postregistration', 'PostRegistration', '/check-login', 'CheckLogin')
标签: javascript python html http-1.1