允许 Mojolicious::Plugin::SecureCORS 的 CORS

Allow CORS with Mojolicious::Plugin::SecureCORS

我是 Mojolicious 的新手,尤其是使用插件 SecureCORS。 如何在 POST 个请求上允许 CORS?

我设法通过以下几行允许 CORS 进行 GET:

use Mojolicious::Lite;

app->plugin('SecureCORS');
app->routes->to('cors.origin' => '*');

我认为 'cors.origin' => '*' 允许所有方法使用 CORS,但它仅适用于 GET。

也许有另一种或更好的方法来发送 Access-Control-Allow-Origin header 并允许所有 POST、GET、PUT、...

坦率地说,我没有使用过 SecureCors 插件,但在 Mojolicious 中开发 REST API 时,我遇到了同样的跨域问题。

注意:- 我没有使用 Mojolicious::lite 应用程序。

您可能需要在您的启动子例程(如果不使用 Mojolicious::Lite)下执行与此或多或少类似的操作。

$self->hook(after_dispatch => sub { 
    my $c = shift; 
    $c->res->headers->header('Access-Control-Allow-Origin' => '*'); 
    $c->res->headers->access_control_allow_origin('*');
    $c->res->headers->header('Access-Control-Allow-Methods' => 'GET, OPTIONS, POST, DELETE, PUT');
    $c->res->headers->header('Access-Control-Allow-Headers' => 'Content-Type' => 'application/x-www-form-urlencoded');

}); 

希望对您有所帮助。