加载图表时出错 未捕获的类型错误:无法读取未定义的属性“到小写”

Error while loading a chart Uncaught TypeError: Cannot read property 'toLowerCase' of undefined

本文关键字:到小写 读取 属性 未定义 类型 出错 加载 错误      更新时间:2023-09-26

我们已经浏览了与该问题相关的其他条目。但它似乎并不能解决我的问题。我正在尝试加载一个页面,并且有一个js函数可以加载一个图形.当尝试访问本地部署的应用程序时,它工作正常,没有任何错误。但是当尝试访问链接(服务器中部署的同一应用程序的页面)时,我们得到了错误未捕获的类型错误:无法读取未定义的属性"toLowerCase"

function show_vis(tower, cluster, product,region,all_application, flag) 
{
document.getElementById('heat-chart').innerHTML='';
var appList = [];
var app_corr = [];
var indexarr = new Array();
    // second issue fixed....
    tower   = encodeURIComponent(tower);    
    cluster = encodeURIComponent(cluster);
    product     = encodeURIComponent(product);
    region      = encodeURIComponent(region);
    flag        = encodeURIComponent(flag);
$.get("Dashboard_Core_Analysis.jsp?tower=" + tower
        + "&cluster=" + cluster +"&region="+region+ "&product=" + product + "&default=" +flag, function(data, status) {
    appList=data.trim().split(''r'n');
    if(appList.length != 1 ){
        for(var i = 1 ; i < all_application.length ; i++)
        {
            for(var j = 0 ; j < appList.length ; j++)
            {
                **if (all_application[i][1].toLowerCase() == appList[j].toLowerCase())**
                {
                    indexarr.push(all_application[i][0]);
                    app_corr.push(all_application[i][1]);
                }
            }
        }
        buildHeatMap(app_corr, indexarr, flag);
    }
    else
    {
        document.getElementById('heat-chart').innerHTML='<div style="Margin-top:50px; text-align:center;">No Data to Display</div>';
        document.getElementById('tag-cloud').innerHTML='';
        document.getElementById('area-chart1').innerHTML='';
        document.getElementById('area-chart2').innerHTML='';
    }
}); 

}我什至调试了代码并保留了警报,以检查是否正在为 all_application 和 appList 填充值。这些值正在正常填充。以下是值

all_application值

index,application_name,
1,Friday Daily Jobs WK1,
2,Monday Additional Jobs,
3,Monday Daily Jobs,
4,Non Daily Jobs,
5,NonBATCHNDC Daily Jobs,
6,Others,
7,Tue-Fri Daily,

应用列表值

Monday Daily Jobs,Non Daily Jobs,Tue-Fri Daily,Friday Daily Jobs WK1,Monday Additional Jobs,NonBATCHNDC Daily Jobs,Others

上面是调用的函数,它加载了一个图形。在上述方法中,当突出显示的行被调用时,应用程序会通过未捕获的TypeError。

当应用程序本地部署在 tomcat 服务器中时,相同的代码可以正常工作。我不确定缺少什么。非常感谢对此的任何帮助。

根据问题评论中的讨论,问题是数据是从csv文件中获取的,该文件有空格,末尾有一个空行,这导致数组添加一个空值。

某些从 csv 中提取数据的库或手工代码不检查空行,这可能会导致此问题中出现的问题,因此必须确保修剪 csv 文件或使用检查空行的代码