只有当我编译我的应用程序ionic cordova run android
时,我才得到这个错误
如果我用--livereload
编译它,就不会发生这种情况,我使用代理来解决CORS问题
{
"name": "gestor",
"type": "ionic-angular",
"integrations": {
"cordova": {}
},
"proxies": [
{
"path": "/api",
"proxyUrl": "https://gestor2.siacomsistemas.com.br/api"
}
]
}
发布于 2019-02-22 04:34:16
问题是,对于生产环境,我不能使用代理,所以我需要在创建URL时进行测试
protected baseApi = "/api/";
constructor(protected platform: Platform) {
if (platform.is('cordova')) {
this.baseApi = "https://gestor2.siacomsistemas.com.br/api/";
}
}
CORs的问题出在我的api服务器端,我使用的是laravel,需要创建一个CORs中间件
\\app\Http\Middleware\Cors.php
<?php
namespace App\Http\Middleware;
use Closure;
class Cors {
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, XMLHttpRequest');
}
}
在我的内核上调用它
\\app\Http\Kernel.php
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
\App\Http\Middleware\HttpsProtocol::class,
\App\Http\Middleware\Cors::class,
];
https://stackoverflow.com/questions/54815533
复制相似问题