离子技术的新手。创建项目后面临的问题 离子启动Myapp空白 离子科尔多瓦运行android
import unittest
from unittest import mock
from dns.name import Name
from dns.rdtypes.IN.SRV import SRV
def make_mock_srv(target, port, weight):
mock_srv = mock.create_autospec(SRV)
mock_name = mock.create_autospec(Name)
instance = mock_srv.return_value
instance.target = mock_name.return_value
# str(answer.target) calls __str__
instance.target.__str__ = target
instance.port = port
instance.weight = weight
return instance
class TestMakeQuery(unittest.TestCase):
@mock.patch('dns.resolver.Resolver')
def test_make_query(self, mock_resolver):
mock_resolver_instance = mock_resolver.return_value # the object returned by Resolver()
mock_resolver_instance.query.return_value = [
make_mock_srv('foo.', 1234, 2),
make_mock_srv('bar.', 42, 4),
]
# run your test, which calls _make_query, which calls Resolver().query()
全局软件包:
@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
运行该应用程序以使用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”标头。因此,不允许访问来源“ http://localhost:8080”。响应的HTTP状态代码为400。
答案 0 :(得分:3)
上述问题通过以下命令解决了
project directory>ionic cordova plugin remove cordova-plugin-ionic-webview
project directory>ionic cordova run android
并检查chrome:// inspect它将与file:/// android_asset连接,它将正常运行! 编码愉快
答案 1 :(得分:2)
删除cordova-plugin-ionic-webview
有副作用,特别是如果您还想为iOS部署同一应用程序时。
针对您的问题的实际解决方案是在您尝试访问的后端应用程序中返回正确的Access-Control-Allow-Origin
标头。
您没有提供信息,但我想这也是一个OPTIONS
请求,您的后端未配置为正确响应,这就是为什么您收到http状态码400的原因。您的后端应还要处理这些并返回200 OK
。