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

具有角5访问控制允许起源问题的Laravel API

松俊美
2023-03-14
   const url     = 'http://127.0.0.1:8000/oauth/token' ;
   const body    = JSON.stringify({
                      'client_id'    : '8',
                      'client_secret': 'nMfgx0XrlfvImZK1vqu7PucCaaezDZofJOhTLh4m',
                      'grant_type'   : 'password',
                      'username'     : 'admin',
                      'password'     : '0a09943d507c591ae7269042a57db16ac9a2b971'
                    });

    const httpOptions = {
                          headers: new HttpHeaders({
                            'Accept'      : 'application/json',
                            'Content-Type':  'application/json'
                          }
                          )
                        };

    const res  = this.http.post<any>(url, body, httpOptions)
                          .subscribe(myres => { console.log(myres); }) ;

登录:1未能加载http://127.0.0.1:8000/oauth/token:对飞行前请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,不允许访问源'http://localhost:4200'。

我听说应该用一个叫:

header('Access-Control-Allow-Origin', '*')ce

共有1个答案

邢同
2023-03-14

您需要cors包:

composer require barryvdh/laravel-cors

安装完成后,转到/config/app.php,将以下内容添加到“providers”数组:

Barryvdh\Cors\ServiceProvider::class,

在/app/http/kernel.php中添加以下内容:

protected $middleware = [
    // ...
    \Barryvdh\Cors\HandleCors::class,
];
php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"
    'supportsCredentials' => true,
    'allowedOrigins' => ["localhost:4200"],
    'allowedHeaders' => ['*'],
    'allowedMethods' => ['*'],
    'exposedHeaders' => [],
    'maxAge' => 0,
 类似资料:
  • 我在从node.js服务器获取数据时遇到问题。 客户端是: 在服务器端,我还设置了标题: 但我犯了个错误 "XMLHttpRequest无法加载http://localhost:3003/get_testlines.对预试请求的响应没有通过权限改造检查:请求的资源上没有'Access-Control-Prover-Origin'标头。因此,来源http://localhost:3000不允许进入。

  • 我有错误: XMLHttpRequest 无法加载 http://localhost:5984/cp_config/。当凭据标志为 true 时,不能在“访问控制-允许-源”标头中使用通配符“*”。因此,不允许访问源“http://localhost”。XMLHttpRequest 的凭据模式由 withCredentials 属性控制。 但我有一个标题: 我该如何解决这个问题?

  • 我在做一个离子应用程序。我的问题是:当我试图从服务器获取数据时,我得到了这样的结果: $http.get(url).success(函数(响应){...}

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

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

  • 问题内容: 我从node.js服务器获取数据时遇到问题。 客户端是: 在服务器端,我还设置了标头: 但我得到一个错误 “ XMLHttpRequest无法加载http:// localhost:3003 / get_testlines 。对预检请求的响应未通过访问控制检查:所请求的资源上没有’Access- Control-Allow-Origin’标头。来源’ http://本地主机:3000