gilsonsouza /lara-cors
Laravel CORS启用
v1.3.4
2017-05-17 14:29 UTC
This package is not auto-updated.
Last update: 2024-09-14 19:31:15 UTC
README
使用composer,执行以下命令自动安装composer.json
composer require gilsonsouza/lara-cors
或者手动在您的composer.json
文件中安装
{ "require": { "composer require gilsonsouza/lara-cors": "^1.0" } }
2. 中间件
为了使用它们,需要在您的文件app/Http/Kernel.php中注册。
protected $middleware = [ // other middleware ommited \LaraCors\Cors\CorsMiddleware::class, ];
3. 提供者(可选)
在Laravel-Cors中为您的Laravel应用程序选择允许的域名,需要在您的文件config/app.php
中注册此包。在providers
部分的末尾添加以下代码
// file START ommited 'providers' => [ // other providers ommited \LaraCors\Cors\CorsServiceProvider::class, ], // file END ommited
3.1 公开配置文件(仅当您已执行第3步时)
为了公开随包附带的默认配置文件,请执行以下命令
php artisan vendor:publish --provider="LaraCors\Cors\CorsServiceProvider"
4 配置(仅当您已执行第3步和第3.1步时)
配置文件,指定您允许的域名
config/cors.php
5 Ajax请求
如果您正在使用Laravel的guard和通过中间件(Authenticate)进行的认证,在您的Ajax请求中,请添加以下参数(在此情况下我正在使用jQuery的Ajax,但请使用您偏好的方法,只需记住按照您的方法定义添加参数即可)
crossDomain : true,
xhrFields: {
withCredentials: true
}
例如:
$.ajax({
type: "GET",
dataType: 'json',
url: API_ENDPOINT,
crossDomain : true,
xhrFields: {
withCredentials: true
}
})
.done(function( data ) {
console.log(data);
});
6 附加功能
如果您的服务器是Apache,可能需要在以下行中添加到.htaccess文件
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
</IfModule>