如何为Catalyst启用CORS

时间:2019-02-05 07:48:01

标签: apache perl cors catalyst

具有一个产生JSON的Perl Catalyst应用程序,我需要在Apache服务器提供的HTML页面内使用jQuery读取JSON内容。 Catalyst和Apache这两个应用程序都在同一主机上运行。

当我从Apache访问Catalyst URL时,出现错误消息

Access to XMLHttpRequest at 'http://localhost:3000/abc/json_list' from origin 'http://localhost:8888' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

正如我在许多主题中提到的那样,必须设置标题(或更多)。在这种情况下,必须设置催化剂,但我不知道如何。

有任何提示吗?

1 个答案:

答案 0 :(得分:3)

Catalyst允许您使用the header method on the response object设置响应头。

$c->res->header( "Access-Control-Allow-Origin" => "http://localhost:8888" );

如果您有多个端点需要通过CORS提供许可,请考虑使用控制器的sub autousing现有的middleware