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 相关文章推荐
juqery 学习之三 选择器 子元素与表单
Nov 25 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
Mar 28 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
Jan 03 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
Oct 17 Javascript
jquery禁止回车触发表单提交
Dec 12 Javascript
Javascript中call和apply函数的比较和使用实例
Feb 03 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
Aug 03 Javascript
JavaScript 中 avalon绑定属性总结
Oct 19 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
深入分析element ScrollBar滚动组件源码
Jan 22 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
Sep 05 Javascript
吃通javascript正则表达式
Apr 21 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
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
php数组去重实例及分析
2013/11/26 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
点击广告后才能获得下载地址
2006/10/26 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
jquery二级目录选中当前页的css样式
2016/12/08 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
2017/01/21 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
Python随机生成带特殊字符的密码
2016/03/02 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
python实现拓扑排序的基本教程
2018/03/11 Python
解决DataFrame排序sort的问题
2018/06/07 Python
详解python之协程gevent模块
2018/06/14 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
详解python-图像处理(映射变换)
2019/03/22 Python
NumPy统计函数的实现方法
2020/01/21 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
生物专业个人自荐信范文
2013/11/29 职场文书
ktv收银员岗位职责
2013/12/16 职场文书
庆祝儿童节标语
2014/10/09 职场文书
美丽的大脚观后感
2015/06/03 职场文书
小学运动会入场词
2015/07/18 职场文书
Python基于百度API识别并提取图片中文字
2021/06/27 Python
MySQL查询日期时间
2022/05/15 MySQL