Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 动态加载JSON数据与JVectormap-uncought TypeError中的硬编码:无法读取属性';元素';未定义的_Javascript_Jquery_Ajax_Jvectormap - Fatal编程技术网

Javascript 动态加载JSON数据与JVectormap-uncought TypeError中的硬编码:无法读取属性';元素';未定义的

Javascript 动态加载JSON数据与JVectormap-uncought TypeError中的硬编码:无法读取属性';元素';未定义的,javascript,jquery,ajax,jvectormap,Javascript,Jquery,Ajax,Jvectormap,我正在使用JVectormap,并试图通过AJAX动态加载数据。 我的AJAX调用一个PHP脚本,该脚本返回一个resultstring。 示例响应:{“US”:“29.84”,“BE”:“24.52”,“FR”:“21.42”,“GB”:“15.66”} 当我使用console.log(dataset)时,我在控制台中看到了与上述示例完全正确的字符串,但数据没有加载到地理图表上,我得到了错误“Uncaught TypeError:无法读取undefined的属性'element'” 复制时,从

我正在使用JVectormap,并试图通过AJAX动态加载数据。 我的AJAX调用一个PHP脚本,该脚本返回一个resultstring。 示例响应:{“US”:“29.84”,“BE”:“24.52”,“FR”:“21.42”,“GB”:“15.66”}

当我使用console.log(dataset)时,我在控制台中看到了与上述示例完全正确的字符串,但数据没有加载到地理图表上,我得到了错误“Uncaught TypeError:无法读取undefined的属性'element'”

复制时,从控制台粘贴值,并在代码中添加一行 var数据集={“US”:“29.84”,“BE”:“24.52”,“FR”:“21.42”,“GB”:“15.66”}; 然后,图表被完美加载

因此,当我硬编码时,值都可以正常工作,但是当我使用动态返回的数据集时,它不工作,尽管它们是彼此的精确副本

我的Javascript代码没有硬编码值(这会导致空映射和控制台中的上述错误)

信息:这个函数RenderChart(dataset)是从另一个部分调用的,该部分在“dataset”中加载AJAX数据。因此,dataset包含带有国家代码和值的字符串,您也可以在console.log(dataset)中看到这一点

带有硬编码值的我的代码(此代码生成一个良好的图表)


我自己解决了这个问题,但我想我应该在这里为其他可能有同样问题的人添加解决方案

尽管PHP代码返回一个json_encode()值,但它不起作用。 您必须在AJAX请求中明确定义数据类型:“json”

function RenderChart(dataset)
{
    console.log(dataset);
        $('#world-map').vectorMap({
            map: 'world_mill',
            backgroundColor: "#3C454D",
            series: {
                regions: [{
                    values: dataset,
                    scale: ['#25823b', '#fce853', '#e01402'],
                    normalizeFunction: 'polynomial'
                }]
            },
            onRegionTipShow: function(e, el, code){
                el.html(el.html()+' (Threat - '+dataset[code]+'%)');
            }
        });
}
function RenderChart(dataset)
{
    console.log(dataset);
    dataset = {"US":"29.84","BE":"24.52","FR":"21.42","GB":"15.66","DE":"2.81"};
        $('#world-map').vectorMap({
            map: 'world_mill',
            backgroundColor: "#3C454D",
            series: {
                regions: [{
                    values: dataset,
                    scale: ['#25823b', '#fce853', '#e01402'],
                    normalizeFunction: 'polynomial'
                }]
            },
            onRegionTipShow: function(e, el, code){
                el.html(el.html()+' (Threat - '+dataset[code]+'%)');
            }
        });
}