繁体   English   中英

具有参数的函数不起作用

[英]Function not working if it have parameter

请求json数据后,我通过这样的功能运行它

 request.onload = function() { var mainData = request.response; loadNavbar(mainData); } function loadNavbar(jsonObj) { length = jsonObj.catagories.length; for (var i = 0 ; i < length; i++) { list = document.createElement("li"); span = document.createElement("span"); itemName = mainData.catagories[i].catName; span.innerHTML = itemName; list.appendChild(span); nav.appendChild(list); console.log(i) } } 

网页返回错误,如下所示:

main.js:21 Uncaught TypeError: Cannot read property 'length' of undefined
    at loadNavbar (main.js:21)
    at XMLHttpRequest.request.onload (main.js:12)

但是在我将其更改为:

 request.onload = function() { var mainData = request.response; loadNavbar(); } function loadNavbar() { length = mainData.catagories.length; for (var i = 0 ; i < length; i++) { list = document.createElement("li"); span = document.createElement("span"); itemName = mainData.catagories[i].catName; span.innerHTML = itemName; list.appendChild(span); nav.appendChild(list); console.log(i) } } 

它相应地工作。 我能知道我在第一段中做错了什么吗?

我很确定您要传递给该函数的对象不包含称为catagories的数组。 我建议您在这里输入错字,而应该将其称为categories

但是,更多信息可能会有用。 例如, mainData对象的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM