Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON显示为";“未定义”;使用jQuery_Jquery_Json_Arduino - Fatal编程技术网

JSON显示为";“未定义”;使用jQuery

JSON显示为";“未定义”;使用jQuery,jquery,json,arduino,Jquery,Json,Arduino,我是一个完全的新手,所以也许有些答案需要解释一下。 我正在尝试创建一个包含JSON字符串的小html页面。该页面由Arduino在我的本地网络上托管(已测试并工作)。为了从JSON字符串中检索信息,我学习了jQuery的视频教程: 因此,我根据自己的需要对草图进行了一些修改,但最终还是出了问题。在控制台中,我可以看到我得到了JSON,但在页面中,值显示为“undefined” 代码如下: $(function(){ var $channels = $('#channels');

我是一个完全的新手,所以也许有些答案需要解释一下。 我正在尝试创建一个包含JSON字符串的小html页面。该页面由Arduino在我的本地网络上托管(已测试并工作)。为了从JSON字符串中检索信息,我学习了jQuery的视频教程:

因此,我根据自己的需要对草图进行了一些修改,但最终还是出了问题。在控制台中,我可以看到我得到了JSON,但在页面中,值显示为“undefined”

代码如下:

    $(function(){

    var $channels = $('#channels'); //store array

    $.ajax({
     type: 'GET',
     url: 'http://192.168.0.110/ajax_inputs',
     success: function(channels){
     $.each(channels, function(i, channel){ 
        $channels.append('<p>channel # '+ channel.canal +' name: '+               channel.name +'</p>')
    console.log(channels.canal)
            });
        },
    error: function() {
    alert('error loading data')

    }
    });


    });

问题是您引用的是
通道
变量,它在json中是一个对象whof objects

请参见显示访问循环中json的两种方法

循环如下:

$.each(channels, function(i, channel){ 
    console.log(channels[i].canal);
    console.log(channel.canal);
});
在第一个输出中,使用循环迭代器
i
查询顶级数组
通道

在第二种情况下,查询循环变量
channel
,因此不需要循环迭代器查看值。请注意,您的
append()
调用似乎完成了此操作,并且应该可以工作,只是控制台日志出错(容易出错:-)

您的错误是,您正在查询完整数组,但没有迭代器,实际上是在查找以下内容:

channels = { // note the curly brace for an object, which you need for text keys
    'canal': '' // your code looks for this, which doesn't exist
    0: {
    ...
    }
}

起初,我使用的只是append()函数,它在页面上显示“undefine”。在我尝试访问json中的对象之前,一切都很正常。。。
channels = { // note the curly brace for an object, which you need for text keys
    'canal': '' // your code looks for this, which doesn't exist
    0: {
    ...
    }
}