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第二章
Sep 30 Javascript
javascript中onclick(this)用法介绍
Apr 19 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
Dec 24 Javascript
JavaScript实现列表分页功能特效
May 15 Javascript
JavaScript电子时钟倒计时第二款
Jan 10 Javascript
javaScript知识点总结(必看篇)
Jun 10 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
jQuery解析XML 详解及方法总结
Sep 28 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
Jan 25 Javascript
Node.js学习之地址解析模块URL的使用详解
Sep 28 Javascript
javaScript日期工具类DateUtils详解
Dec 08 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
Oct 12 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的5个安全措施小结
2012/07/17 PHP
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
JavaScript 深层克隆对象详解及实例
2016/11/03 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
python中的字典详细介绍
2014/09/18 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
windows下python和pip安装教程
2018/05/25 Python
Python模拟登录的多种方法(四种)
2018/06/01 Python
python对日志进行处理的实例代码
2018/10/06 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
总经理助理岗位职责
2013/11/08 职场文书
装修致歉信
2014/01/15 职场文书
应届毕业生如何写求职信
2014/02/16 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
教师新年寄语
2014/04/03 职场文书
公证委托书模板
2014/04/03 职场文书
2014中考励志标语
2014/06/05 职场文书
精神文明建设标语
2014/06/16 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
Python如何配置环境变量详解
2021/05/18 Python