关于Vue使用EasySwoole框架接口无法记录Session解决方法

孟德 724 2019-08-27

首先查看EasySwoole文档:https://www.easyswoole.com/Cn/Http/problem.html?h=json

关于Vue使用EasySwoole框架接口无法记录Session解决方法  VueAxios VueAxios接口 接口Session EasySwoole Session 跨域请求Session Vue跨域请求 第1张

具体添加在EasySwooleEvent.php文件夹下的onRequest方法下过滤所有的请求

$response->withHeader('Access-Control-Allow-Origin', ' //此处域名替换成你的自己的VUE地址 
$response->withHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
$response->withHeader('Access-Control-Allow-Credentials', 'true');
$response->withHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With');
if ($request->getMethod() === 'OPTIONS') {
    $response->withStatus(Status::CODE_OK);
    return false;
}
return true;

需要在VUE根目录执行命令添加axios扩展哦

npm install axios

Vue里面新建libs/axios.js

import axios from 'axios'
import {API_SEVER} from "../config";
import router from '../router';

axios.defaults.withCredentials = true;
export default function (url, postData = '') {
    return new Promise((resolve, reject) => {
        axios.post(API_SEVER + url, postData)
            .then(function (response) {
                resolve(response);
            })
            .catch(function (error) {
                alert('链接失败网页失败');
                reject(error);
            });
    })
}

在main.js里面引入

import axios from './libs/axios'

在main.js给VUE添加

Vue.prototype.$axios = axios


上一篇:PHP面向对象详解
下一篇:VUE框架组件中修改Body背景色
相关文章