无法从功能(Javascript和jQuery)中删除数据

我想从我的功能arrayDevice之外服用arrayidDevicearrayDomCommandearrayidCommandelectureCommand,但是我不知道如何服用所有这些值,然后将它们放在此函数之外,以便以后使用。

这是我的代码:

function getcommand () {
        var nameDevice = []; 
        var idDevice = []; 
        var nomCommande= []; 
        var idCommande= []; 
        $.ajax({
            url:'/core-command/api/v1/device',type: 'GET',success:function(device){

                    for (var i in device)
                    {
                        // Noms des périphériques 
                        //console.log(device[i].name);
                        nameDevice = device[i].name;

                        // Noms des id du device
                        //console.log(device[i].id);
                        idDevice = device[i].id;

                        // Nom des commandes du device 
                        // console.log(device[i].commands[i]);
                        nomCommande = device[i].commands[0].name;

                        // id de la commande 
                        //console.log(device[i].commands[0].id);
                        idCommande = device[i].commands[0].id;
                        lectureCommand(nameDevice,idDevice,nomCommande,idCommande); 

                    }
             }

        });
    }
    // Declaration 
    arrayDevice = [];
    arrayidDevice = []; 
    arrayDomCommande = []; 
    arrayidCommande = []; 
    arrayDescription = [];

    function lectureCommand(nameDevice,idCommande) 
    {
        arrayDevice.push(nameDevice);
        arrayidDevice.push(idDevice);
        arrayDomCommande.push(nomCommande);
        arrayidCommande.push(idCommande);
    }
yinguang120 回答:无法从功能(Javascript和jQuery)中删除数据

您的代码中有一个小错误。

假设Ajax成功函数是这样的:

{{dateStart | date: 'MM/dd/yyyy'}}

调用{{dateStart | date: 'M/d/yyyy'}} 函数时,代码将执行为:

function ajaxsuccess(){
    lectureCommand(1,2,3,4);//testing with 1,4 args...
}

查看摘要中的错误:

  

“消息”:“未捕获的ReferenceError:未定义arrayDevice”

这意味着getCommand()也是function ajaxsuccess(){ lectureCommand(1,4); } ajaxsuccess(); arrayDevice = []; arrayidDevice = []; arrayDomCommande = []; arrayidCommande = []; arrayDescription = []; function lectureCommand(nameDevice,idDevice,nomCommande,idCommande) { arrayDevice.push(nameDevice); arrayidDevice.push(idDevice); arrayDomCommande.push(nomCommande); arrayidCommande.push(idCommande); } console.log(arrayDevice,arrayidDevice,arrayDomCommande,arrayidCommande);函数的未定义变量。因此,您将值推入未定义的数组(arrayDevice

此问题的解决方案是在脚本的开头定义全局变量,请参见工作片段:

lectureCommand()

,

谢谢您的回答,但是当我尝试使用演讲者函数功能访问我的数组时,我仍然遇到问题,它不起作用, 我做了一些console.log()尝试,我有:

//这是我通过console.log(“ test” + arrayDevice [0])得到的  :测试未定义

///这是我在Ajax中获取device [i] .name的信息 :VM641:25 ajax Random-Integer-Generator01 :VM641:25 ajax随机布尔设备 => VM641:25 ajax随机整数设备 VM641:25 ajax Random-UnsignedInteger-Device VM641:25 ajax随机浮动设备

///这是我通过console.log(arrayDevice)得到的 : [] 0:“ Random-Integer-Generator01” 1:“随机布尔设备” 2:“随机整数设备” 3:“ Random-UnsignedInteger-Device” 4:“随机浮动设备”

这是我修改的代码:

 $(document).ready(function(){
          // Declaration 
        arrayDevice = [];
        arrayidDevice = []; 
        arrayDomCommande = []; 
        arrayidCommande = []; 
        arrayDescription = [];

        // Get des données lues dans core-data
        function getCommand () {
            var nameDevice = []; 
            var idDevice = []; 
            var nomCommande= []; 
            var idCommande= []; 
            $.ajax({
                url:'/core-command/api/v1/device',type: 'GET',success:function(device){

                        for (var i in device)
                        {
                            // Noms des périphériques 
                            console.log("ajax "+ device[i].name);
                            nameDevice = device[i].name;

                            // Noms des id du device
                            //console.log(device[i].id);
                            idDevice = device[i].id;

                            // Nom des commandes du device 
                            // console.log(device[i].commands[i]);
                            nomCommande = device[i].commands[0].name;

                            // id de la commande 
                            //console.log(device[i].commands[0].id);
                            idCommande = device[i].commands[0].id;
                            lectureCommand(nameDevice,idCommande); 

                        }

                 }

            });
        }

        function lectureCommand(nameDevice,idCommande) 
        {
            arrayDevice.push(nameDevice);
            arrayidDevice.push(idDevice);
            arrayDomCommande.push(nomCommande);
            arrayidCommande.push(idCommande);
        }
      console.log("test "+ arrayDevice[0]);
本文链接:https://www.f2er.com/3136123.html

大家都在问