vue/cli axios post的使用及Authorization值传递

博客介绍了vue/cli中axios post的使用,以及Authorization值的传递方法,包含在main.js中的引用和程序里的具体使用。

vue/cli axios post的使用及Authorization值传递

main.js引用:

import axios from 'axios';
Vue.prototype.$http = axios;


axios.defaults.baseURL = "http://localhost:8080/";

程序中使用:


            let header = {
                headers: {
                    "Access-Control-Allow-Origin": "*", //解决cors头问题
                    "Access-Control-Allow-Credentials": "true", //解决session问题
                    "Content-Type":
                        "application/x-www-form-urlencoded; charset=UTF-8", //将表单数据传递转化为form-data类型
                    Authorization: "hezhongxia",
                },
                withCredentials: true,   //此处不使用,采用nginx 时,post接收不了数据
            };
            let url = "/userlogin";

            this.$http.get(url, this.loginForm, header).then(function (rep) {
                console.log(rep);
            });

 

在Flask应用中添加JWT(JSON Web Tokens)登录功能并配合Vue CLI前端以及Axios进行API请求拦截,你需要遵循以下步骤: 1. **安装依赖**: - Flask-JWT-Extended:这是一个方便处理JWT认证的Flask扩展,可以用于生成、验证令牌。 - Axios:在Vue项目中用于发送HTTP请求的库。 - Vue CLI插件:例如axios自动拦截插件`axios interceptor`。 安装命令: ```bash pip install flask-jwt-extended npm install axios @vue/cli-plugin-axios ``` 2. **配置Flask JWT**: - 在Flask应用中设置JWT配置,包括秘钥、过期时间等。 - 创建用户认证路由,如POST `/auth/login`,处理登录信息并返回JWT令牌。 ```python from flask_jwt_extended import JWTManager, create_access_token app = Flask(__name__) app.config['JWT_SECRET_KEY'] = 'your_secret_key' jwt = JWTManager(app) @app.route('/auth/login', methods=['POST']) def login(): # 处理登录验证逻辑... access_token = create_access_token(identity=user_id) return jsonify(access_token=access_token) ``` 3. **Vue CLI配置axios**: - 使用Vue CLI的`axios`插件创建拦截器,在每个请求前检查是否有有效的JWT。 - 如果有,则将token附加到headers中;如果没有,则发送请求失败。 ```javascript // vue.config.js 或者 main.js (推荐放在main.js) import axios from 'axios'; import { create } from 'axios-interceptor'; axios.interceptors.request.use( async config => { const token = localStorage.getItem('jwt'); if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; }, error => Promise.reject(error) ); ``` 4. **前端登录流程**: - 用户输入用户名和密码,通过Axios发送POST请求到服务器的登录路径。 - 登录成功后,保存JWT到本地存储(通常localStorage)。 - 设置Axios拦截器时,从本地获取JWT并附带在请求头中。 5. **错误处理**: - 未携带JWT或Token已过期时,可以在axios拦截器的响应错误处理器中捕获异常,显示适当的消息给用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值