繁体   English   中英

由于未安装cordova-plugin-whitelist但无法安装,所以无法从android设备进行ajax调用?

[英]Can't do ajax calls from android device because cordova-plugin-whitelist is not installed but i can't install it?

我遇到了一个很奇怪的问题,我使用cordova为android构建了一个应用程序,并在其中调用了ajax,它们起作用了,但是由于某种原因,在我的PC上收到BSoD之后,当我再次向该应用程序发布应用程序时,所有ajax调用都停止工作我的Android手机。

我的第一个想法是Visual Studio没有添加cordova-plugin-whitelist,所以我做了一个新项目并尝试添加插件以测试这是否是问题,但是现在当我添加插件时,我的构建失败并且输出窗口在pastebin上显示此输出 (将于2015-09-07到期)

如果未安装cordova-plugin-whitelist,则ajax调用可在Android模拟器和Ripple上运行

Javascript:

(function () {
"use strict";

document.addEventListener( 'deviceready', onDeviceReady.bind( this ), false );

function onDeviceReady() {
    // Handle the Cordova pause and resume events
    document.addEventListener( 'pause', onPause.bind( this ), false );
    document.addEventListener( 'resume', onResume.bind( this ), false );
    $.ajax({
        url: 'https://www.path.com/Controller/Action',
        async: false,
        type: "GET",
        dataType: "json",
        beforeSend: function () { $.mobile.loading('show'); },
        success: function (DataToFillSelect) {
            $.each(DataToFillSelect, function (val, item) {
                $('#Select').append(
                    $('<option></option>').val(item.Value).html(item.Text)
                );
            });
        },
        error: function () {

        },
        complete: function () { $.mobile.loading('hide'); },
    })
    // TODO: Cordova has been loaded. Perform any initialization that requires Cordova here.
};

function onPause() {
    // TODO: This application has been suspended. Save application state here.
};

function onResume() {
    // TODO: This application has been reactivated. Restore application state here.
};
} )();

它只是空白模板,并带有onDeviceReady函数添加的ajax调用

如果您还需要我其他什么,请问我会整天待在这里:)感谢您抽出宝贵时间来帮助我解决我的这个问题!

从config.xml和项目中删除了cordova-plugin-whitelist,并添加了包含以下内容的元标记

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src: 'self' 'unsafe-inline' 'unsafe-eval'">

现在它又可以工作了,我不知道为什么如果有人可以向我解释它,我会很高兴,当然,我仍然很高兴它可以工作,但是您知道知道为什么它会更好:)

感谢所有的帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM