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跨浏览器的属性判断方法
Mar 16 Javascript
JavaScript实现MIPS乘法模拟的方法
Apr 17 Javascript
javaScript实现滚动新闻的方法
Jul 30 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
Sep 09 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
Sep 10 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
Oct 10 Javascript
JavaScript字符串删除重复字符的方法
Dec 25 Javascript
angular-cli修改端口号【angular2】
Apr 19 Javascript
vue router仿天猫底部导航栏功能
Oct 18 Javascript
axios简单实现小程序延时loading指示
Jul 30 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
Jan 27 jQuery
JavaScript的一些小技巧分享
Jan 06 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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
PHP实现的比较完善的购物车类
2014/12/02 PHP
php数组键值用法实例分析
2015/02/27 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
CL vs ForZe BO5 第一场 2.13
2021/03/10 DOTA
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
一个简单的JS鼠标悬停特效具体方法
2013/06/17 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
Python中的rjust()方法使用详解
2015/05/19 Python
Python定时器实例代码
2017/11/01 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
error和exception有什么区别
2012/10/02 面试题