Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
Javascript js对象的错误呈现_Javascript_Json_Node.js_Express - Fatal编程技术网

Javascript js对象的错误呈现

Javascript js对象的错误呈现,javascript,json,node.js,express,Javascript,Json,Node.js,Express,我有一些我想呈现给JADE页面的结构,所以我决定创建类似JSON的对象来呈现某种数据(变量、文本、js对象),这个JSON对象看起来像: var dataSet1 = { meta: { "name": "Some text", "minimum": mini_2, "maximum": maxi_2, "currentValue": last_data_2 }, data: { "values": dataTwo, "corridor": {

我有一些我想呈现给JADE页面的结构,所以我决定创建类似JSON的对象来呈现某种数据(变量、文本、js对象),这个JSON对象看起来像:

var dataSet1 = {
meta: {
    "name": "Some text",
    "minimum": mini_2,
    "maximum": maxi_2,
    "currentValue": last_data_2
},
data: {
    "values": dataTwo,
    "corridor": {
        "x1": xc,
        "x2": yc2,
        "yw": yw2
    }
}
};
我的渲染线:

res.render('index', {
data_to_draw: dataSet1
});
然后我在我的翡翠上使用这些渲染数据:

    displayGraphExampleOne("#graph",
                        !{data_to_draw.data.values},
                        !{data_to_draw.meta.currentValue},
                        !{data_to_draw.meta.minimum},
                        !{data_to_draw.meta.maximum},
                        !{data_to_draw.meta.name},
                        !{data_to_draw.data.corridor.x1},
                        !{data_to_draw.data.corridor.x2},
                        !{data_to_draw.data.corridor.yw2});
无法读取未定义Im的属性“值”以获取此类错误。
我是JS的新手,所以我正在努力判断我做错了什么。如果我不在js对象中传递数据,它工作得很好,但我需要这种类型的传递数据。thanx

这只是我在渲染的内容中的误解,我正在渲染一个数组,因此我应该使用此结构来正确调用和传递:

function d3_drawer(input_array, element_id) {
            for (var i=0; i < input_array.length; i++) {
                displayGraphExampleOne(element_id,
                input_array[i].data.values,
                input_array[i].meta.currentValue,
                input_array[i].meta.name,
                input_array[i].data.corridor.rmin,
                input_array[i].data.corridor.rmax,
                input_array[i].data.corridor.nmin,
                input_array[i].data.corridor.nmax);
            }
        }
功能d3\u抽屉(输入数组,元素id){
对于(变量i=0;i
除了您引用了一些(但不是全部)属性名(这是有效的JS)之外,您的对象只是一个对象,而不是JSON对象。我之所以提到这一点,是因为上面有代码片段,所以如果您在
dataSet1
上操作它来处理JSON内容,您可能不会得到想要得到的对象。就在render命令之前的
console.log(dataSet1)
可能会给您一个提示(如果您正在崩溃并丢失控制台输出,则可能会代替
render()
)。您还可以
console.log(require('util').inspect(dataSet1,{depth:null}))
以获得完全扩展的对象。