Android 设备上的 phonegap 应用程序不发送 AJAX 请求

Posted

技术标签:

【中文标题】Android 设备上的 phonegap 应用程序不发送 AJAX 请求【英文标题】:The phonegap application on Android devices does not send AJAX requests 【发布时间】:2019-06-09 21:02:16 【问题描述】:

Anrdoid 设备上的 phonegap 应用程序不发送 AJAX 请求 ...

请求处于状态:待处理

没有 javascript 错误:

相同的应用程序在 ios 设备上运行良好。

在 config.xml 文件中:

 <?xml version='1.0' encoding='utf-8'?>
<widget id="ru.myappcompany.mobapps" version="1.1.5" versionCode="72" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
    ...
    <content src="index.html" />
    <preference name="AppendUserAgent" value="MyAppCompanyCordovaApp" />
    <preference name="OverrideUserAgent" value="MyAppCompanyCordovaApp" />
    <preference name="android-build-tool" value="gradle" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="android-minSdkVersion" value="16" />
    <preference name = "android-targetSdkVersion" value = "26" />
    <plugin name="cordova-plugin-battery-status" source="npm" spec="~1.2.4" />
    <plugin name="cordova-plugin-camera" source="npm" spec="~2.4.1"></plugin>
    <plugin name="cordova-plugin-media-capture" source="npm" spec="~1.4.3" />
    <plugin name="cordova-plugin-console" source="npm" spec="~1.0.2" />
    <plugin name="cordova-plugin-contacts" source="npm" spec="~2.0.1" />
    <plugin name="cordova-plugin-device" source="npm" spec="~1.1.6" />
    <plugin name="cordova-plugin-device-motion" source="npm" spec="~1.2.0" />
    <plugin name="cordova-plugin-device-orientation" source="npm" spec="~1.0.2" />
    <plugin name="cordova-plugin-dialogs" source="npm" spec="~1.2.0" />
    <plugin name="cordova-plugin-file" source="npm" spec="~4.3.3" />
    <plugin name="cordova-plugin-file-transfer" source="npm" spec="~1.5.0" />
    <plugin name="cordova-plugin-geolocation" source="npm" spec="~2.4.3" />
    <plugin name="cordova-plugin-globalization" source="npm" spec="~1.0.7" />
    <plugin name="cordova-plugin-inappbrowser" source="npm" spec="~1.7.1" />
    <plugin name="cordova-plugin-media" source="npm" spec="~2.2.0" />
    <plugin name="cordova-plugin-network-information" source="npm" spec="~1.3.3" />
    <plugin name="cordova-plugin-splashscreen" source="npm" spec="~3.2.1" />
    <plugin name="cordova-plugin-statusbar" source="npm" spec="~2.1.2" />
    <plugin name="cordova-plugin-vibration" source="npm" spec="~2.1.5" />
    <plugin name="cordova-plugin-whitelist" source="npm" spec="~1.2.1" />
    <plugin name="phonegap-plugin-barcodescanner">
      <param name="CAMERA_USAGE_DESCRIPTION" value="To scan barcodes." />
    </plugin>
    ...    
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="mailto:*" />
    <platform name="android">
        <allow-intent href="market:*" />
        <allow-intent href="http://*/*" />
        <allow-intent href="https://*/*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>

【问题讨论】:

您能否使用cURL(或其他库)与您的 API 进行通信? 我使用 Framwork 7。请求发送给他。例如: $$.get(my_url, function (data, status, xhr) $$('.page[data-page="home"] .page-content').html(data); ); 【参考方案1】:

SSL 的根证书安装不正确。这就是我的问题的原因!

【讨论】:

以上是关于Android 设备上的 phonegap 应用程序不发送 AJAX 请求的主要内容,如果未能解决你的问题,请参考以下文章

Android 设备上的 PhoneGap 蓝牙插件

如何避免仅在 Android 上的 Phonegap 应用程序黑屏?

PhoneGap - 与 Android 上的浏览​​器相比性能较差

并行 PhoneGap 开发 - 适用于 iPhone 和 Android 的应用程序

PhoneGap 应用程序在 android 设备中仅显示白屏

在使用 phonegap 触发事件之前检测方向变化