我使用 React 创建了一个基本的登录页面,并带有一个供用户单击和登录的按钮。我还在 Heroku 服务器上设置了一个包含用户名和密码的 postgreSQL 数据库。现在,我只需要通过检查输入的凭据是否与我的数据库中的内容匹配来对用户进行身份验证。我尝试在 Authenticate() 函数中执行此操作。此外,正在通过 onClick 在按钮中调用 Authenticate()。
现在,我使用 jQuery Ajax 设置了基本身份验证(感谢这篇 Stackoverflow 帖子:使用基本身份验证与 jQuery 和 Ajax)。但是,当我按下页面上的按钮时,没有任何反应。
因为我没有指定我的网址!但是...我没有 URL,因为它是服务器上的数据库。另外,我将如何检查我的数据库以查看是否有匹配项?最后,如果成功,我需要将用户重新路由到另一个页面。
Authenticate() {
var email = $("#email").val();
var password = $("#password").val();
$.ajax({
// Adds a HTTP header with the Authentication information
beforeSend: function(xhr) {
xhr.setRequestHeader(
"Authorization",
"Basic " + btoa(email + ":" + password)
);
},
type: "GET",
url: "",
dataType: "json",
async: false,
data: '{"email": "' + email + '", "password" : "' + password + '"}',
// Successful authentication
success: function() {
alert("Successfully authenticated!"); // TODO: Set appropriate auth cookie
},
// Display error message
complete: function(jqXHR) {
// 401: Unauthorized
if (jqXHR.status == "401") {
var message = jqXHR.status + " : " + jqXHR.statusText;
alert(message);
}
}
});
}
我有点菜鸟,所以我有这么多问题。请多多包涵。谢谢!
所以首先你必须在你的代码中的某个地方建立一个到你的数据库的连接。
您可能倾向于创建一个文件夹并将其命名为db
. 在这里,您将使用npm
名为pg
. 所以npm i pg
你也可以安装一个非常有用的包,叫做dotenv
.
执行此操作后,进入您的db
文件夹并创建一个名为db.config
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句