ajax - 将 'Ajax updated' 数据集与交叉过滤器一起使用

标签 ajax json dynamic crossfilter

我有一个关于伦敦二氧化碳排放的非常大的数据集(大约 500 000 条记录......),我想使用交叉过滤器与 map 和图表一起显示。
出于性能原因,我想事先按行政区进行查询,所以我做了一个 ajax 函数,当我点击一个行政区时会动态地执行此操作(想象一下带有行政区边界的伦敦 map ,我们可以在其中单击它们)。
Ajax 代码工作正常:

function load_data(str){
var londonData = null;
    $.ajax({
        url: "php/london-data.php",
        data: "name='"+str+"'",
        type: 'get',
        async: false,
        success: function(data) {
            londonData = data;
        }
    });
alert(JSON.stringify(londonData));

return londonData;}

它返回一个json文件。当我单击一个行政区时,警报功能会显示数据已更新。
但是要使用 crossfilter,我想要一个全局变量,当你点击一个自治市镇时,它会更新,这要归功于 load_data 函数,但它不起作用 -> 变量保持与初始化相同的值。

我不知道我是否足够清楚,但您认为有更新此全局变量的解决方案,从而更新交叉过滤器数据吗?就像是 :
layer.on("click", function (e) {
             londonData = load_data(/*name of the layer clicked on*/)
        });
dataset = crossfilter(londonData);

最后,我希望我的图表在我点击一个行政区时更新,所以当我点击一个时,“数据集”变量必须改变。不知道这是否可能,或者我做错了什么......
无论如何,在此先感谢您的帮助。

最佳答案

我认为由于 ajax 请求是异步的,你必须在成功函数中应用 crossfilter 函数。因此,您只有在加载 ajax 数据后才能创建和使用交叉过滤器数据。

关于ajax - 将 'Ajax updated' 数据集与交叉过滤器一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16466513/

相关文章:

dynamic - Lisp 动态作用域 : A powerful short example reasoning it?

javascript - 为json数组javascript中的每个值添加一个键

javascript - onmouseover 与 ajax 不工作

jquery - MVC 3 Razor Ajax HttpDelete IIS6

ajax - Jquery Ui 选项卡中的 JWYSIWYG 或 jHtmlArea

python - 在Python中逐行将json-ish列表写入csv以获取比特币地址

java - 从 struts-rest-plugin 请求时如何排除属性?

c# - 如何存储 Linq 查询并在以后使用?

javascript - html javascript 自动完成不适用于动态添加的文本框

ajax - 急于实现grails服务器端触发的对话框,或如何在AJAX调用后突破更新区域