全局变量在javascript (Cordova/Phonegap)中没有被改变

Global variable not being changed in javascript (Cordova/Phonegap)

本文关键字:改变 Phonegap javascript Cordova 全局变量      更新时间:2023-09-26

我正在编写一个Phonegap应用程序。我的问题是,当从函数内部修改全局变量时,全局变量没有被改变。

函数是从jquery ajax回调触发的。这个ajax回调是从Phonegap 'deviceready'事件触发的。我很确定这个函数正在chrome中执行(使用ripple来触发'deviceready'),但全局变量没有被改变。

这是我的'deviceready'监听器:

document.addEventListener("deviceready", function() {
    storage = window.localStorage;
    LOCALE = "es_ES";
    $.ajax({
        type: 'POST',
        url: SERVER,
        data: 'task=' + 'checkRutas' + '&lng=' + LOCALE,
        dataType: "json",
        success: function(msg) {
            getNuevasRutas(msg);
        }
    });

这是我改变arrayRutasId数组的函数

var SERVER = "http://borrafe.clientes2a.net/XXXXXXX";
var LOCALE = "";
var RUTAVERSIONPREFIX = "rutaversionprefix";
var RUTADATA = "rutaprefix";
arrayRutasId = [];
function getNuevasRutas(respuestas) {
    var nuevasRutas = [];
    var arrayRutas = respuestas['rutas'];
    console.log('Rutas: ' + arrayRutas);
    rutasRestantesNetwork = arrayRutas.length;
    $.each(arrayRutas, function(i, ruta) {
        var version = storage.getItem(RUTAVERSIONPREFIX + ruta.version);
        arrayRutasId.push(RUTADATA + ruta.id);
        console.log(RUTADATA + ruta.id);
        if (storage.getItem(RUTADATA + ruta.id) === null || version < ruta.version) {
            console.log("Por sgunda condición?? " + (version < ruta.version));
            getRuta(ruta.id);
        } else {
            rutasRestantesNetwork--;
        }
    });
    console.log("Hay nuevas rutas en arrayrutasid " + arrayRutasId.length);
    return nuevasRutas;
}   

所有日志都是正确的,并且在函数'arrayrutasid'中正确地推送了元素。顺便说一下,常量在函数内部被正确访问!!

——编辑我正在尝试从Chrome控制台读取变量。

您缺少});

document.addEventListener("deviceready", function() {
    storage = window.localStorage;
    LOCALE = "es_ES";
    $.ajax({
        type: 'POST',
        url: SERVER,
        data: 'task=' + 'checkRutas' + '&lng=' + LOCALE,
        dataType: "json",
        success: function(msg) {
            getNuevasRutas(msg);
        }
    });
});