Ionic 应用程序在 chrome 检查中显示 localhost:8080

Ionic application shows localhost:8080 in chrome inspect

离子技术的初学者。创建项目后遇到的问题 离子启动 Myapp 空白 离子科尔多瓦 运行 android

@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

全局包:

cordova (Cordova CLI) : 8.0.0

本地包:

@ionic/app-scripts : 3.1.11
Cordova Platforms  : android 7.0.0
Ionic Framework    : ionic-angular 3.9.2

系统:

Android SDK Tools : 26.1.1
Node              : v8.11.2
npm               : 5.6.0
OS                : Windows 10

环境变量:

ANDROID_HOME : C:\Users\XXX\AppData\Local\Android\Sdk

杂项:

backend : pro.

在运行使用android设备检查应用程序之后。 chrome://inspect/#devices 有以下区别!

上图 URL 以 localhost:8080

开头

下图中 URL 以 file:///android_asset/www/index.html

开头

如何在使用 chrome inspect 而不是 localhost:8080 的每个离子项目中将 URL 获取为 file:///android_asset/www/index.html?

由于这个问题面临的问题如下: 对预检请求的响应未通过访问控制检查:请求的资源上不存在 'Access-Control-Allow-Origin' header。因此不允许访问来源“http://localhost:8080”。响应具有 HTTP 状态代码 400。

以上问题已通过以下命令解决

project directory>ionic cordova plugin remove cordova-plugin-ionic-webview 
project directory>ionic cordova run android

并签入 chrome://inspect 它将与 file:///android_asset 连接,它将起作用!! 快乐编码

删除 cordova-plugin-ionic-webview 会产生副作用,尤其是如果您还想为 iOS 部署相同的应用程序时。

您问题的实际解决方案是 return 您尝试访问的后端应用程序中的正确 Access-Control-Allow-Origin header。

您没有提供信息,但我猜这也是一个 OPTIONS 请求,您的后端未配置为正确响应,这就是您收到 HTTP 状态代码 400 的原因。您的后端也应该处理那些 return a 200 OK.