我的API服务器是Laravel 4.我已调整filters.php文件以接受跨浏览器请求,如下所示:
App::before(function($request)
{
if($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
$statusCode = 204;
$headers = [
'Access-Control-Allow-Origin' => '*',// change this if you need filter a specific domain
'Access-Control-Allow-Methods' => 'GET, POST, OPTIONS, DELETE, PUT',
'Access-Control-Allow-Headers' => 'Origin, Content-Type, Accept, Referrer, User-Agent',
'Access-Control-Allow-Credentials' => 'false'
];
return Response::make(null, $statusCode, $headers);
}
});
在客户端,我正在使用Jquery-File-Upload,该文档说明它是CORS能够的。我的问题是,虽然我的客户端能够在没有dredded的情况下进行API调用,但在请求的资源'消息上存在'No'Access-Control-Allow-Origin'标头(我已成功测试POSTS& GETS),I收到文件上传错误。
我没有使用分块上传,所以我没有指定Jquery-File-Upload文档所要求的标题,我尝试了各种Allow-Headers值,一切都没有效果。
如果有人对此有任何见解,请提前致谢。