首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CORS easyway

CORS easyway
EN

Stack Overflow用户
提问于 2015-04-24 22:21:41
回答 3查看 143关注 0票数 0

我正试着把数据从一个网页‘上传’到我运行在本地主机上的Laravel 5服务器上,这个网页也是本地主机服务的,但是来自其他服务器软件(nodejs)。但是我得到了这个错误:

代码语言:javascript
复制
XMLHttpRequest cannot load http://localhost:8888/data/. Method PUT is not allowed by Access-Control-Allow-Methods.

创建put请求的代码是angularjs,如下所示:

代码语言:javascript
复制
 return $http.put("http://localhost:8888/data/", { obj1: a, obj2: b });

绕过CORS最简单的方法是什么?安全性不是问题。使用chrome中的postman插件,我可以发送put请求。

EN

回答 3

Stack Overflow用户

发布于 2015-04-24 22:29:08

这是我用于cors的laravel设置。

我已经创建了一个具有以下设置的http.php配置文件:

代码语言:javascript
复制
return [
    'cors' => [
        'origin' => '*',
        'methods' => 'OPTIONS, GET, POST, PUT, PATCH, DELETE',
        'headers' => 'X-Requested-With, Content-Type, Authentication-Token',
    ],
];

在应用程序启动时在某个地方运行以下代码:

代码语言:javascript
复制
if ( ! App::runningInConsole()) {
    header('Access-Control-Allow-Origin: ' . Config::get('http.cors.origin'));
    header('Access-Control-Allow-Credentials: true'); // to be honest i've never used this option, but it looks like you'll need it

    // handle preflight requests
    App::before(function() {
        if (Request::getMethod() === 'OPTIONS') {
            return new Response('', 200, [
                'Access-Control-Allow-Methods' => Config::get('http.cors.methods'),
                'Access-Control-Allow-Headers' => Config::get('http.cors.headers'),
            ]);
        }
    });
}
票数 2
EN

Stack Overflow用户

发布于 2015-04-24 22:23:19

邮递员不使用CORS。

要启用CORS (在客户端),请在put选项中添加:{ withCredentials: true }

代码语言:javascript
复制
 return $http.put("http://localhost:8888/data/", { obj1: a, obj2: b }, { withCredentials: true });

注意:取决于您的服务器应用程序,您也可以在服务器端启用它们。

票数 1
EN

Stack Overflow用户

发布于 2015-04-24 22:25:37

这似乎不是一个角度问题。您应该尝试使用以下命令在PHP上启用CORS:

代码语言:javascript
复制
// Enable CORS 
// In production, replace * with http://yourdomain.com 
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Credentials: true');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29849966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档