当前位置: 首页 > 知识库问答 >
问题:

Laravel上的CORS(访问-控制-允许-起源)

巫马昆琦
2023-03-14

我在AngularJS中创建了一个应用程序,并尝试调用Laravel API:

  • MyApp(AngularJS):http://localhost:8080/
  • API(Laravel样板文件):http://localhost:8000/

api_routes.php:

<?php

$api = app('Dingo\Api\Routing\Router');

$api->version('v1', ['middleware' => 'cors'], function ($api) {

    $api->post('auth/login', 'App\Api\V1\Controllers\AuthController@login');
    $api->post('auth/signup', 'App\Api\V1\Controllers\AuthController@signup');
    $api->post('auth/recovery', 'App\Api\V1\Controllers\AuthController@recovery');
    $api->post('auth/reset', 'App\Api\V1\Controllers\AuthController@reset');

    // example of protected route
    $api->get('protected', ['middleware' => ['api.auth'], function () {     
        return \App\User::all();
    }]);

    // example of free route
    $api->get('free', function() {
        return \App\User::all();
    });

});

共有1个答案

郗河
2023-03-14

我不完全理解这一点,但是当我想要跨浏览器访问时,我会在我的endpoint所在的文件夹中添加一个.htaccess文件,其中包含以下内容:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
 类似资料:
  • 我在vHost中设置了。 但是现在我遇到了这样一个错误: CORS策略阻止从来源'http://localhost:3000'访问xxx处的XMLHttpRequest:'Access-Control-Allow-Origin'标头包含多个值'http://localhost:3000,*',但只允许一个值。 你知道怎么回事吗?是服务器端的问题还是我应该在axios配置中设置一些东西? 谢了。

  • 问题内容: 我试图使CORS请求正常工作。使用以下JS代码,我得到此错误: 这是JS代码: 当我使用chrome的devtools查看网络时,我发现确实没有标题。但是,当我手动加载该网站时,它就存在了! 我使用以下代码设置标题: 希望能有所帮助! 问题答案: 它说这意味着您的服务器应用程序需要调整以接受跨源请求。由于安全原因,默认情况下跨源请求不起作用。您需要启用它们。 对于django,有一个维

  • 我已经将我的ASP.NET核心web API部署到Azure上,我可以使用Swagger或像Fiddler这样的web调试器访问它的endpoint。在这两种情况下(在Swagger中使用相同的来源,在我的计算机中使用Fiddler使用不同的来源),当访问API时,我会得到预期的结果,在我的中启用CORS如下所示: > 添加到。 使用Fiddler,我可以成功地访问远程API,但没有获得标头。因此

  • 我使用从使用API的ReactJS发送数据,我得到一个错误: 以下是错误: CORS策略已阻止从来源“http://localhost/2019/EURDU/user_controllers/userregistercontroller/userregistration”访问位于“http://localhost:3000”的XMLHttpRequest:飞行前响应中的access-control

  • 问题内容: 我尝试使用以下代码通过$ http(角度)发送http请求: 但这不起作用,并且我在Web控制台中有此错误: 你有解决方案吗 ? 问题答案: 您看到此错误是由于在浏览器中实现的称为Same Origin Policy的安全机制所致。 基本上,这是由于您的网页尝试访问驻留在与网页本身不同的主机,端口或方案(HTTP / HTTPS /文件等)所在的服务器上的资源而引起的。 为了解决此问题

  • 我正在创建一个脚本,加载在其他网站的外部。它加载CSS和HTML,在我自己的服务器上工作得很好。 但还是不管用。