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 相关文章推荐
JavaScript入门教程(2) JS基础知识
Jan 31 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
Jun 02 Javascript
详解Vue2.0里过滤器容易踩到的坑
Jun 01 Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 Javascript
dts文件中删除一个node或属性的操作方法
Aug 05 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
Dec 17 Javascript
微信小程序实现手势滑动效果
Aug 26 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
Nov 01 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
Nov 13 Javascript
原生js实现点击轮播切换图片
Feb 11 Javascript
浅谈实现在线预览PDF的几种解决办法
Aug 10 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
给多个地址发邮件的类
2006/10/09 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
轻轻松松学习JavaScript
2007/02/25 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
js实现双色球效果
2020/08/02 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
从Python程序中访问Java类的简单示例
2015/04/20 Python
Python异常处理操作实例详解
2018/05/10 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
使用selenium模拟登录解决滑块验证问题的实现
2019/05/10 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
SQL面试题
2013/04/30 面试题
普通大学毕业生自荐信范文
2014/02/23 职场文书
安全生产演讲稿
2014/05/09 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
全国助残日活动总结
2015/05/11 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python