具有一个产生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.
正如我在许多主题中提到的那样,必须设置标题(或更多)。在这种情况下,必须设置催化剂,但我不知道如何。
有任何提示吗?
答案 0 :(得分:3)
Catalyst允许您使用the header
method on the response object设置响应头。
$c->res->header( "Access-Control-Allow-Origin" => "http://localhost:8888" );
如果您有多个端点需要通过CORS提供许可,请考虑使用控制器的sub auto
或using现有的middleware。