Javascript 将弹出窗口绑定到传单.js循环:未找到\u错误:DOM异常8

Javascript 将弹出窗口绑定到传单.js循环:未找到\u错误:DOM异常8,javascript,jquery,leaflet,Javascript,Jquery,Leaflet,我正在使用传单,并试图在我创建的圆圈上创建一个弹出窗口。我正在使用以下代码 var jsonString = '{"location":"edinburgh","topNouns":["track","love"],"eventWords":{"shot":1},"numberOfTweets":177.0,"numberOfTweetsContainEventWord":1.0,"percentageOfEventTweets":0.5649717514124294,"lat":55.

我正在使用传单,并试图在我创建的圆圈上创建一个弹出窗口。我正在使用以下代码

    var jsonString = '{"location":"edinburgh","topNouns":["track","love"],"eventWords":{"shot":1},"numberOfTweets":177.0,"numberOfTweetsContainEventWord":1.0,"percentageOfEventTweets":0.5649717514124294,"lat":55.953252,"lon":-3.188267}';

    var json = JSON.parse(jsonString);     

    var text = json.lat;
    alert(text);
            var circleColor = 'red';
            var circle = L.circle([55.953252, -3.188267], 9000, {
                color: circleColor,
                fillColor: circleColor,
                fillOpacity: 0.5
            })
                .bindPopup(text)
                .addTo(map); 
代码读入JSON字符串,创建一个圆圈,然后尝试将弹出窗口绑定到该圆圈

然而,没有弹出窗口出现,我得到以下错误

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8 
我相信这是在我将文本变量传递到.bindpoup方法时发生的。当我在.bindPopup方法中插入一个常量文本值时,弹出窗口将正确显示,但我希望它从JSON中获取文本

使用alert方法,我可以看到变量文本正从JSON中正确检索

有人知道为什么会发生这种错误吗

链接到JSFIDLE:


但是,在jsiddle中很难获得显示的地图。

设法解决了这个问题。我需要将文本变量转换为字符串,如下所示

.bindPopup(String(text))

不完全确定为什么alert方法正确显示文本,而我必须将变量转换为字符串,以便在传单弹出窗口中显示。

您能在类似的地方发布一个示例吗?创建了一个JSFIDLE,但由于某种原因,它没有显示在结果中。包括所有的外部脚本,不确定是什么错误。您的jsonSource无法工作,因为fiddle没有在您的服务器上运行。最好将一些示例JSON直接复制到示例中并使用它。我在这个fork中清理了一些东西:当我使用外部JSON文件加载数据时,在JSFIDLE中显示页面时遇到问题谢谢,这将添加一些示例数据