Vue+Flask实现简单的登录验证跳转的示例代码


Posted in Javascript onJanuary 13, 2018

本文介绍了Vue+Flask实现简单的登录验证跳转,分享给大家,具体如下:

文件位置: Vue+Flask实现简单的登录验证跳转的示例代码

login.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Login</title>

  <script type="text/javascript" src="../static/vue.js"></script>
  <script type="text/javascript" src="../static/axios.js"></script>

</head>
<body>

<div id="login">
  <form action="#" novalidate>
    <label for="username">Username</label>
    <input type="text" name="username" id="username" placeholder="Enter your Name" v-model="username"><br>
    <label for="password">Password</label>
    <input type="text" name="password" id="password" placeholder="Enter your Password" v-model="password"><br>
    <br>

    <button type="button" v-on:click="login">Apply</button>
  </form>
</div>


<script type="text/javascript">
  var login = new Vue({
    el: '#login',
    data:{
      username: '',
      password: ''
    },
    methods: {
      login: function () {
        axios.post('http://127.0.0.1:5000/login',{
          username: this.username,
          password: this.password
        }).then(function (response) {
          console.log(response.status)
          // 其实是应该走后台路由
          if(parseInt(response.status) === 200){
            window.location.href = 'index'
          }
        }).catch(function (error) {
          console.log(error.response)
        })

      }
    }
  })
</script>

</body>
</html>

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Index</title>
</head>
<body>
  <h1>Hello,This is Index Page!</h1>
</body>
</html>

Login.py

# -*- coding: utf-8 -*-

from flask import Flask, request, session, redirect, url_for, render_template, make_response, jsonify
app = Flask(__name__)


@app.route('/login', methods=('GET', 'POST'))
def login():
  if request.method == 'POST':
    session['username'] = request.json.get('username')
    session['password'] = request.json.get('password')
    # 登录成功,则跳转到index页面
    return jsonify({'code': 200, 'token': "123456"})
  # 登录失败,跳转到当前登录页面
  return render_template('login.html')


@app.route('/index')
def index():
  # 如果用户名和密码都存在,则跳转到index页面,登录成功
  if 'username' in session and 'password' in session:
    return render_template('index.html')
  # 否则,跳转到login页面
  return redirect(url_for('login'))


@app.route('/logout')
def logout():
  session.pop('username', None)
  session.pop('password', None)
  return redirect(url_for('login'))


# set the secret key. keep this really secret:
app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'


if __name__ == '__main__':
  app.run(debug=True)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
window.addeventjs事件驱动函数集合addEvent等
Feb 19 Javascript
event对象的方法 兼容多浏览器
Jun 27 Javascript
基于jQuery的简单的列表导航菜单
Mar 02 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
May 24 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
Jan 13 Javascript
网页挂马方式整理及详细介绍
Nov 03 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
Feb 20 Javascript
javascript实现延时显示提示框效果
Jun 01 Javascript
angular使用bootstrap方法手动启动的实例代码
Jul 18 Javascript
微信小程序“摇一摇”的实例代码
Jul 20 Javascript
javascript高级模块化require.js的具体使用方法
Oct 31 Javascript
从零开始实现Vue简单的Toast插件
Dec 03 Javascript
react-redux中connect的装饰器用法@connect详解
Jan 13 #Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
Jan 13 #Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
Jan 13 #Javascript
vuejs实现递归树型菜单组件
Jan 13 #Javascript
在vue中通过axios异步使用echarts的方法
Jan 13 #Javascript
详解基于vue-cli配置移动端自适应
Jan 13 #Javascript
javascript用rem来做响应式开发
Jan 13 #Javascript
You might like
Oracle 常见问题解答
2006/10/09 PHP
Zend的MVC机制使用分析(二)
2013/05/02 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
js function使用心得
2010/05/10 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
2017/03/12 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
python中time库的实例使用方法
2019/10/31 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
柒牌官方商城:中国男装优秀品牌
2017/06/30 全球购物
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
五好党支部事迹材料
2014/02/06 职场文书
一名老师的自我评价
2014/02/07 职场文书
赡养老人协议书
2014/04/21 职场文书
会计系毕业求职信
2014/08/07 职场文书
承诺书模板
2014/08/30 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
小鞋子观后感
2015/06/05 职场文书
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技