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 相关文章推荐
js列举css中所有图标的实现代码
Jul 04 Javascript
JavaScript给url网址进行encode编码的方法
Mar 18 Javascript
JQ技术实现注册页面带有校验密码强度
Jul 27 Javascript
Bootstrap学习笔记之js组件(4)
Jun 12 Javascript
jQuery基本选择器之标签名选择器
Sep 03 Javascript
Websocket协议详解及简单实例代码
Dec 12 Javascript
Javascript this 函数深入详解
Dec 13 Javascript
微信小程序 扎金花简单实例
Feb 21 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
Dec 17 Javascript
OpenLayers3加载常用控件使用方法详解
Sep 25 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 curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
通过php添加xml文档内容的方法
2015/01/23 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
jquery实现先淡出再折叠收起的动画效果
2015/08/07 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
vue使用laydate时间插件的方法
2018/11/14 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
在Python程序和Flask框架中使用SQLAlchemy的教程
2016/06/06 Python
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
python处理“
2019/06/10 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
销售人员自我评价
2014/02/01 职场文书
会计专业自我鉴定
2014/02/10 职场文书
团代会主持词
2014/04/02 职场文书
音乐教师求职信
2014/06/28 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
总结高并发下Nginx性能如何优化
2021/11/01 Servers