无法从Android设备进行ajax调用,因为没有安装cordova-plugin-whitelist但我无法安装它?

时间:2015-08-07 09:51:16

标签: android ajax cordova visual-studio-cordova

我有这个相当奇怪的问题我使用cordova为Android构建了一个应用程序并且在其中进行了ajax调用并且它们工作但是由于某种原因我在我的PC上获得BSoD之后所有ajax调用都停止工作当我再次将应用程序发布到我的Android手机上。

我的第一个想法是Visual Studio没有添加cordova-plugin-whitelist,所以我做了一个新项目并尝试添加插件来测试这是否是问题,但现在当我添加插件时,我的构建失败了输出窗口显示此Output on 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调用

如果你还需要我的任何东西,那就问我一整天都在这里:) 感谢您花时间帮我解决这个问题!

1 个答案:

答案 0 :(得分:1)

从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'">

现在它再次起作用我不知道为什么如果有人能向我解释我会很开心,我确定它仍然很高兴它有效但你知道为什么它的工作会更好:)

Thx获得所有帮助!