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编程起步(第一课)
Jan 10 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
Jun 29 Javascript
简约JS日历控件 实例代码
Jul 12 Javascript
浏览器中url存储的JavaScript实现
Jul 07 Javascript
漫谈JS引擎的运行机制 你应该知道什么
Jun 15 Javascript
使用JS 插件qrcode.js生成二维码功能
Feb 20 Javascript
js实现1,2,3,5数字按照概率生成
Sep 12 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
Jan 02 Javascript
浅谈在react中如何实现扫码枪输入
Jul 04 Javascript
JavaScript进阶(一)变量声明提升实例分析
May 09 Javascript
使用JavaScript通过前端发送电子邮件
May 22 Javascript
Map与WeakMap类型在JavaScript中的使用详解
Nov 18 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实现的一段简单概率相关代码
2016/05/30 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
2015/09/18 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
小程序转发探索示例
2019/02/19 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
Python中字典和集合学习小结
2017/07/07 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
python 函数的缺省参数使用注意事项分析
2019/09/17 Python
python中提高pip install速度
2020/02/14 Python
python列表的逆序遍历实现
2020/04/20 Python
python 自动识别并连接串口的实现
2021/01/19 Python
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
黄继光的英雄事迹材料
2014/02/13 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
服务承诺书怎么写
2014/05/24 职场文书
社区两委对照检查材料
2014/08/23 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
MySql中的json_extract函数处理json字段详情
2022/06/05 MySQL