登陆校验解决前端success回调函数始终执行问题

这篇具有很好参考价值的文章主要介绍了登陆校验解决前端success回调函数始终执行问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有一串前端js登陆代码:

 sendRequest:function(){
        wx.request({
          url: `http://localhost:8080/lf/login/2021/2021`,
          method:'POST',
          success:(res) => {
             console.log("测试通过")
                  }
        })
  }

和后端代码:

  public Result<Students> logginById(@PathVariable String stundentNo,@PathVariable String password){
        log.info("员工登录:{},{}",stundentNo,password);
        Students students = userService.LostLogin(stundentNo,password);
        log.info("继续");
        return Result.success(students);
}

存在问题:

不管前端传递的账号密码是否正确,都会成功调用success回调函数,从而导致无法判断账号密码是否匹配成功。

解决办法:

要避免无论账号密码是否正确都调用success回调函数,可以在后端代码中对账号密码进行验证,只有在验证通过后才返回成功的结果。 修改后端代码如下:

public Result<Students> logginById(@PathVariable String stundentNo, @PathVariable String password) {
    log.info("员工登录:{},{}", stundentNo, password);
    Students students = userService.LostLogin(stundentNo, password);
    if (students != null) { //因为service报错时students没有值
        log.info("继续");
        return Result.success(students);
    } else {
        // 验证失败,返回错误信息或者错误码
        return Result.error("账号密码错误");
    }
}

前端可以通过判断返回结果中的错误信息或错误码来确定是否登录成功。可以在success回调函数中判断返回结果的状态码或错误信息,如果状态码或错误信息表示登录失败,则进行相应的处理,否则表示登录成功。 修改前端代码如下:文章来源地址https://www.toymoban.com/news/detail-634158.html

sendRequest: function() {
    wx.request({
        url: `http://localhost:8080/lf/login/2021/2021`,
        method: 'POST',
        success: (res) => {
            if (res.data.code === 1) { //controller调用成功返回的result的data里的code为1
                // 登录成功
                console.log("登录成功");
                // 进行其他操作
            } else {
                // 登录失败
                console.log("登录失败:" + res.data.msg); //调用失败返回data的msg信息
                // 进行相应的处理,例如提示用户登录失败
            }
        },
        fail: (res) => {
            // 请求失败
            console.log("请求失败:" + res.errMsg);
            // 进行相应的处理,例如提示用户请求失败
        }
    })
}

到了这里,关于登陆校验解决前端success回调函数始终执行问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端登陆加密解决方案

    项目背景 环食药烟草的数据下载模块中,需要判断用户在进行数据下载时是进行了登录操作,如果没有登录要跳转登陆页面,输入账号和密码进行登录。 使用场景 项目中需要前端书写登录页面,用户输入账号密码,前端获取到用户输入的账号密码做登陆操作时需要采用对密

    2024年02月22日
    浏览(42)
  • axios回调函数中this指向已经改变的解决方法

    在axios回调函数中,this指向的是回调函数本身的作用域,而不是Vue实例的作用域。因此,你不能直接通过this访问Vue实例中的数据。为了解决这个问题,有几种方法: 1.使用箭头函数,箭头函数会绑定当前作用域的this,而不会创建新的this。 例如: 2.在Vue实例中保存this,使用

    2024年02月07日
    浏览(44)
  • 巧用回调函数解决微信小程序与后台数据交互出现的异步问题

            微信小程序端需要发送一个包含文字与图片的表单数据给后端,我一开始的思路是 先 上传图片得到临时的URL, 后 执行POST请求将表单数据发送给后端,但后端只能获取到文字,而图片URL却始终获取不到。         注意看我上面的思路, 一先一后 ,无形中将两

    2024年02月16日
    浏览(42)
  • 【前端版】分布式医疗云平台【解决面包屑的问题、定义路由、服务端接口、动态渲染菜单、登陆测试、字典类型管理 】(二十)

    目录 2.3.解决其它问题 2.3.1.面包屑的问题及控制台报错 3.登陆和加载菜单和后台关联问题 

    2024年02月12日
    浏览(46)
  • Unity实战篇 | 使Unity打包的exe程序始终保持屏幕最前端【文末送书】

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2023年04月11日
    浏览(40)
  • C++回调函数 匿名函数,类中的方法做为回调函数

    C++中的回调函数和匿名函数都是函数指针或函数对象的使用形式。下面分别介绍它们的使用方法。 回调函数是一种函数指针,它允许将函数作为参数传递给另一个函数,并在需要时调用它。这种技术通常用于事件处理、异步处理和状态机等应用中。 下面是一个简单的示例,

    2024年02月01日
    浏览(45)
  • C/C++面向对象(OOP)编程-回调函数详解(回调函数、C/C++异步回调、函数指针)

    本文主要介绍回调函数的使用,包括函数指针、异步回调编程、主要通过详细的例子来指导在异步编程和事件编程中如何使用回调函数来实现。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:C/C++精进之路 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致

    2024年02月03日
    浏览(39)
  • 免杀对抗-ShellCode上线+回调编译执行+混淆变异算法

    C/C++ -- ShellCode - 免杀对抗 介绍:          shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名。我们经常在CS里面生成指定编程语言的payload,而这个payload里面就是一段十六进制的机器码。 为什么要使用 shellcode :

    2024年02月09日
    浏览(37)
  • matlab在执行时出现,不支持将脚本 *****(axis)作为函数执行,怎么解决

          举个例子,在运行以下这个代码进行画图时。  并不会运行到axis(  )这一步,只到plot(  )这一步。出现下面这个结果    可以发现,坐标轴并没有改变。还会报错: 解决方法  可以检查一下自己的MATLAB文件夹中是不是会存在与函数名称axis(  )相同的的m文件,有的

    2024年02月14日
    浏览(45)
  • Kotlin,解决调用了函数但是函数体内没有执行的问题,什么时候使用invoke

    这段代码按照代码逻辑来说打印的是 123 但是没有这个打印 把foo函数转成java的代码如下 Function0表示有0个参数,Function1表示1个参数,以此类推到Function22,超过22可以使用FunctionN表示。 foo函数的返回类型是Function0。这也意味着,如果我们调用了foo(n),那么实质上仅仅是构造了

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包