cordova-HTTP:最简单的 GET 请求不起作用
cordova-HTTP: most simple GET request not working
我正在尝试使用 cordova 插件 "cordova-HTTP":[=12= 将 GET 请求从我的 Android 模拟器发送到模拟器 运行 所在的笔记本电脑]
cordovaHTTP.get(
"http://10.0.2.2:80/",
{},
{},
function(response) {
console.log('success called');
},
function(error_response) {console.log('error called'); console.log(error_response.status);}
);
错误回调被调用,状态代码为 500(= 内部服务器错误)。但是在我的笔记本电脑上,我可以通过 tcpdump 看到甚至没有收到任何包裹。为什么这个非常简单的 GET 请求不起作用?
当我在模拟器上使用 Google Chrome 并导航到“http://10.0.2.2:80/”时一切正常,我看到了虚拟页面我的笔记本电脑上安装的 Apache2 网络服务器。
自 API 级别 28 默认情况下不允许发送简单的 GET 请求,因为不允许明文流量。所以我将以下内容添加到我的 cordova 项目的 config.xml 中(在 <platform name="android">
标记内):
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
还要确保在 <widget>
标签内添加 android XML 命名空间,否则上面的方法将不起作用:
xmlns:android="http://schemas.android.com/apk/res/android"
我正在尝试使用 cordova 插件 "cordova-HTTP":[=12= 将 GET 请求从我的 Android 模拟器发送到模拟器 运行 所在的笔记本电脑]
cordovaHTTP.get(
"http://10.0.2.2:80/",
{},
{},
function(response) {
console.log('success called');
},
function(error_response) {console.log('error called'); console.log(error_response.status);}
);
错误回调被调用,状态代码为 500(= 内部服务器错误)。但是在我的笔记本电脑上,我可以通过 tcpdump 看到甚至没有收到任何包裹。为什么这个非常简单的 GET 请求不起作用?
当我在模拟器上使用 Google Chrome 并导航到“http://10.0.2.2:80/”时一切正常,我看到了虚拟页面我的笔记本电脑上安装的 Apache2 网络服务器。
自 API 级别 28 默认情况下不允许发送简单的 GET 请求,因为不允许明文流量。所以我将以下内容添加到我的 cordova 项目的 config.xml 中(在 <platform name="android">
标记内):
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
还要确保在 <widget>
标签内添加 android XML 命名空间,否则上面的方法将不起作用:
xmlns:android="http://schemas.android.com/apk/res/android"