不在 livereload 或本地时解析期间的 Ionic Http 失败
Ionic Http failure during parsing when not in livereload or local
仅当我编译我的应用程序时ionic cordova run android
我得到这个错误
如果我用 --livereload
编译它不会发生,我正在使用代理来解决 CORS 问题
{
"name": "gestor",
"type": "ionic-angular",
"integrations": {
"cordova": {}
},
"proxies": [
{
"path": "/api",
"proxyUrl": "https://gestor2.siacomsistemas.com.br/api"
}
]
}
问题是对于生产我不能使用代理所以我需要在创建 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,
];
仅当我编译我的应用程序时ionic cordova run android
我得到这个错误
如果我用 --livereload
编译它不会发生,我正在使用代理来解决 CORS 问题
{
"name": "gestor",
"type": "ionic-angular",
"integrations": {
"cordova": {}
},
"proxies": [
{
"path": "/api",
"proxyUrl": "https://gestor2.siacomsistemas.com.br/api"
}
]
}
问题是对于生产我不能使用代理所以我需要在创建 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,
];