- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于 AJAX 调用,我还是个初学者,所以提前道歉,因为我陷入了困境,而且我不知道为什么!
总之,我有自己的服务器,它显示登录页面。使用路由器,我确定表单中输入的详细信息是否正确,以便用户进入主页。我的登录按钮也链接到 AJAX,由此我添加了一个事件处理程序,该处理程序现在[应该]根据路由器中的检查结果显示警报框。
所以..我的问题是为每个响应显示正确的警报框。 “成功”警报框始终显示为状态代码 200。错误代码:甚至未到达函数。
我有一个路由器文件来服务页面并处理登录检查,一个包含登录凭据、登录 html 页面和登录 js 文件的正确组合的 js 文件。我正在使用 javascript 和 AJAX 以及 google chrome 进行调试。我认为您需要解决这个问题的一些代码如下。如果您还需要更多,请询问。
路由器登录检查:
app.post('/api/login/', function (req, res) {
console.log(req.body);
var emailLog = req.body.email;
var passwordLog = req.body.password;
validUser = false;
// Search user data
for (var x in USERS.users) {
if (emailLog === USERS.users[x].email && passwordLog === USERS.users[x].password) {
validUser = true;
break;
}
}
if (validUser === true) {
console.log("Log in successful");
res.send('Success');
} else {
console.log("Incorrect combination");
res.send('Error');
}
});
Login.js该文件正在执行 AJAX 操作:
$(document).ready(function(){
console.log("in doc ready");
$("#submit_button").click(function(e){
console.log("in event handler");
e.preventDefault();
$.ajax({type: "POST",
url: "/api/login",
data: { email: $("#email").val(),password: $("#password").val() },
success:function(data, textStatus, xhr){
alert("Successful");
console.log(xhr.status);
console.log(data);
},
error:function(data){
alert("Unsuccessful");
//$("#errorMessage").html("Incorrect email or password - Try again");
}
});
});
});
救命啊!我已经浏览了这里的几页 AJAX 问题,但没有一个对我有用。最终我想将错误文本添加到登录页面上的 div 中,但现在我很乐意只显示正确警报!!! ...为什么即使我输入了错误的组合,它总是返回成功警报框?对于修复此错误的正确方向有什么建议或指示吗?
更新这是开发人员工具的控制台中显示的正确组合和错误组合的内容:
login.js:2 in doc ready
login.js:5 in event handler
login.js:18 200
login.js:20 Success
login.js:5 in event handler
login.js:18 200
login.js:20 Error
这是在 cmd 窗口中:
Example app listening at http://:::3000
{ email: 'a@a.com', password: 'a' }
a@a.com
a
Valid user : true
Log in successful
{ email: 'a@a.com', password: 't' }
a@a.com
t
Valid user : false
Incorrect log in combination - re-directing back to login page
最佳答案
就AJAX而言,只要返回状态“200”,就视为“成功”,并且不会触发错误函数。它与您作为响应发送的内容无关,它只是 http 状态代码。
所以调整你的成功函数:
success:function(data, textStatus, xhr){
console.log(xhr.status);
console.log(data);
if ( data == "Success" ) // thats what you send in case of a proper login
alert("Successful")
},
关于javascript - AJAX成功:function always returning success (and 200 status code),错误函数未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29945726/
code
正常吗?
我刚刚开始使用 YARD 来记录我的 Rails 应用程序。我没有指定任何特定的标记处理程序,但我希望 `code` 会转换为 code,但这似乎没有发生。这是正常行为吗?我是否必须添加一些额外的选项
什么是Code-Server 首先程序员朋友们肯定都用过来自微软的VS Code 这款轻量而又高级的编辑器,拥有丰富的插件库,支持各种语言编译运行。而本文介绍的Code-Server就是coder 公
我是一名高中生,今年开始学习汇编。 我目前正在制作 Pacman 克隆作为我的最终项目。 我遇到的唯一问题是我的代码很大,*.exe 文件几乎有 64KB。 所以我的问题是,如果我转向模型介质,我需要
锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 挑战 按字符计数绘制 Code 39 条码的 ASCII 表示的最短代码。 维基百科关于代码 3
我正在开发 VS 代码的扩展(使用 javascript)。现在我需要安装 VS Code 的路径。 windows有一种方法: var child = require('child_process'
[Windows 10] 我在自定义目录中安装了“Microsoft VS Code(用户设置)”,每当我尝试更新它时,都会显示: 然后这个 Log Info Dec 23 11:42:40.673
我正在尝试更新我的 VS 代码,但收到一条错误消息:由于防病毒软件和/或进程失控,更新可能会失败。 附加了一个来 self 的用户的日志文件,但我不确定要检查什么。我对计算机和编程还是个新手。 最佳答
几天前我安装了 Kali Linux。我正在尝试使用 Code-OSS 而不是 VSCode,因为最新版本的 Kali 没有安装普通版本所需的库。 如果我尝试使用 code-oss . 或 code
我正在从 Atom 迁移到 VS Code,因为这似乎是当今所有酷 child 都在使用的东西。 在 atom 中,我能够如图所示突出显示当前行号(装订线中的蓝色突出显示)。 有没有办法在 VS Co
我试图找到一个明确的 G 代码语法规范,而不是单个 G 代码的含义,我无处不在的规范,我的意思是详细的语法规范,目的是编写解析器。 我编写解析器没有问题,我只是在寻找语法规范,例如。我知道您不必总是为
我想在 VS Code (Windows) 中使用 Fira Code,并且已经按照 instructions 中的说明配置了字体。 。不知何故,字体看起来很模糊。我该如何解决这个问题? "edito
这个问题已经有答案了: How can I navigate back to the last cursor position in Visual Studio Code? (16 个回答) 已关闭
如何选择当前单词,即插入符号所在的位置。 注意:我正在寻找 Visual Studio Code(VS Code)(文本编辑器)的快捷方式,而不是 Visual Studio IDE。 最佳答案 在
我需要在 VS Code 中安装 flutter 但在安装扩展中,我有这个错误 Unable to install 'Dart-Code.flutter'; there is no available
memberData
有什么区别
{@code memberData} 和有什么区别?和 memberData在 JavaDoc 中 最佳答案 有两个主要区别: {@code ...}更简洁:更易于阅读(和输入)。 {@code ..
我有这样一个字符串: Here is my code sample, its not too great: [CODE] [/CODE] I hope you enjoy. 现在我想用 highli
在 VS Code 中,我有一个少于 50 个文件的 Vue 项目,但是在运行开发服务器时 VS Code 抛出 Error: ENOSPC: System limit for number of f
Source Code Pro 如何在 VSC 中使用 ExtraLight ~? 似乎以下不起作用...... 我确定我有字体。 Source Code Pro ExtraLight 最佳答案 编辑
我对 Visual Studio Code 很陌生。我正在尝试调试一个已经存在的应用程序,我已经通过 Git 克隆了它。我的文件都没有被修改。我已经下载了微软扩展“C# for Visual Stud
Visual Code VS Visual Studio Code Insider 我还是不明白这两者有什么区别,难道其中一个是新功能的试用版吗? 最佳答案 Visual Studio Code In
我是一名优秀的程序员,十分优秀!