CORS政策:飞行前请求不允许重定向。 [Nuxt + PHP]

时间:2019-05-30 16:06:34

标签: php vue.js cors localhost nuxt.js

这就是问题所在。我想按照以下路径从客户端计算机执行安全的API调用:client -> server -> API

问题是...我有一个在localhost:3000上运行的NUXT服务器,而我的PHP服务器在localhost:80上,所以当我尝试向我的php服务器发出发布请求时,出现了CORS错误:

  

从原点“ http://localhost/edsa-ci/api/1”到“ http://localhost:3000”处对XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:预检请求不允许重定向

当我在Chrome中查看“网络”面板(见下图)时,它会为我的请求提供301 moved permanently,但我自己还没有做!不幸的是,我尝试将url更改为其他名称,但无济于事。

Network panel

当前代码:

我知道这是服务器端的问题,有很多方法可以解决此问题,我已经尝试过,但不幸的是对我不起作用。这是我目前正在做的事情:

客户端请求(由localhost:3000生成的代码):

fetchData: function (token) {
    let _ = this;
    return axios
        .post("/data", {
            token: token
        })
        .then((res) => {
            console.log("Got some data!");
            if (res.data.length > 0) {
                _.data = res.data;
            }else{
                throw new Error("Error occurred...");
            }
        })
        .catch((e) => {
            _.errorMsg = e;
        });
}

localhost:80上的服务器端PHP代码

// TEST CODE
header('Access-Control-Allow-Origin: *'); // allow all domains
header ('Access-Control-Expose-Headers: Content-Length, X-JSON');
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');

...

// returns a JSON object 
$core->respondSuccess(json_encode($json_data));

提前谢谢!如果您有任何遗漏,请告诉我:)

Ps .: 我不是在寻找一种完全禁用浏览器中的CORS的解决方案

0 个答案:

没有答案