[英]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.