javascript - 无法使用 javascript 读取未定义的属性“”
问题描述
当我digitalInfo;
在控制台日志中运行命令时,我的页面会提供以下数据。
> digitalInfo;
< >{version: "1.0", page: {...}, attributes: {...},event: Array(0), ...}
如果我展开此响应并转到"page"
键,我会得到以下页面键的日期:
>page:
>pageInfo: {pageName: "Thank You", language:"en"}
>productInfo: [{}]
>user: {loginStatus: "Not LoggedIn", userType: "Anonymous"}
如果我展开,productInfo
我会得到以下productInfo
密钥日期:
productInfo: Array(1)
0
flightTime: "Flight-1 06:50~Flight-1 08:35"
现在我想获取 flightTime 的值,所以我使用以下命令(命令优先):
var departureInfo=digitalInfo.page.productInfo[0].flightTime;
但这给了我错误@productInfo[0]Cannot read property '0' of undefined
我修改了命令并将其设置为 (command second) :
var departureInfo=digitalInfo.page.productInfo.flightTime;
但这一次它给了我错误:Cannot read property of 'flightTime' undefined
当我包含这些命令时,我javascript
会抛出错误。但是,如果我直接在控制台上运行第一个命令,我会得到输出:
>var departureInfo=digitalInfo.page.productInfo[0].flightTime;
>departureInfo;
<"Flight-1 06:50~Flight-1 08:35"
代码:
<script>
(function()
{
'use strict';
var cnt=6000;
function init()
{
if(typeof jQuery !="undefined")
{
content_change();
}
else
{
cnt=cnt-500;
if(cnt>500)setTimeout(init,500);
}
}
function content_change()
{
console.log("entered the content change function");
var departureInfo=digitalInfo.page.productInfo[0].flightTime;
if(checking value of departureInfo)
{
console.log("Entered the if loop");
}
else
{
cnt=cnt-500;
if(cnt>500)setTimeout(content_change,500);
}
}
init();
})()
</script>
解决方案
我能够通过 setTimeout 函数解决这个问题。谢谢大家的建议。
推荐阅读
- javascript - 使用 Javascript 重用与 Azure Functions 的数据库连接
- css - 选择元素文本的垂直居中
- xaml - Xamarin ControlTemplate 设置 BindingContext
- database - 使用 Join 和计算进行查询
- wordpress - 如何使用子主题更新 WordPress 主题文件
- javascript - 尝试使用 Gmail API 计算 Gmail 中使用的标签数量
- javascript - 如何使用 JS/JQuery 根据位置在另一个页面上重定向用户?
- git - 如何使用 git 合并到不相关的分支?
- javascript - JavaScript 中的回文
- ruby-on-rails - 在 Rails 中将 pdf 上传到亚马逊