Ionic + Laravel App开发中的CORS错误

时间:2017-06-23 12:19:18

标签: angular ionic-framework cors ionic3

我在laravel创建了一个网站。现在我正在使用Ionic 3制作移动应用程序。

在对laravel后端进行API调用时,我遇到了以下问题。

localhost/:1 XMLHttpRequest cannot load http://xyz.dev/request/login. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access.

假设在laravel的web.php中定义了12条路线。

然后在12个项目中,6个路由用于桌面Web应用程序,剩下的6个路由以/mobile为前缀,以便我可以在MY API中使用它。 我在通过IONIC和后端的移动应用程序提出任何请求时都面临着这个问题。

请帮助我。

1 个答案:

答案 0 :(得分:0)

您可以在laravel项目中添加此项,通过该项目调用apis

将它放在您的filters.php文件

Route::filter('alloworigin', function()
{   
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
    header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Request-With');
    header('Access-Control-Allow-Credentials: true');
}); 

通过这个你可以成功调用跨平台api ..

或 你也可以把这个放在你的ajax电话中

$http({method: 'GET', url: 'http://localhost:3000/api/symbol/junk', 
            headers:{
                'Access-Control-Allow-Origin': '*',
                'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
                'Access-Control-Allow-Headers': 'Content-Type, X-Requested-With',
                'X-Random-Shit':'123123123'
            }})