javascript - 带后台 AJAX 更新的 D3 图表 : cannot redraw graph

标签 javascript ajax d3.js

我对 D3 还很陌生,所以我试图通过修改一些示例来学习。 使用this作为起点,( here's the working Pen ) 我尝试通过在后台使用 AJAX 获取数据来改变现状。

我尝试过使用此代码:

 $.ajax({
            type: "GET",
            contentType: "application/json; charset=utf-8",
            url: 'randomdata.php',
            dataType: 'json',
            async: false,
            data: "{}", 
            success: function (data) {
               var pos_data = data;
               needle.moveTo(percent);

            },
            error: function (result) {



}
    })

(randomdata.php 仅提供 0 到 100 之间的随机值)

..但是我没有得到任何针移动,即使只是在setTimeout 中调用needle.moveTo 也是如此。 再说一次,我在这里完全是个菜鸟……而且我肯定错过了一些东西。 我可以寻求帮助吗? 谢谢!

最佳答案

添加

console.log(percent + ", " + typeof(percent));

用于确定百分比变量值和变量类型的成功函数。

您的代码存在问题,因为在您的 codePen 示例命令中,例如

needle.moveTo(0.7);
needle.moveTo("0.7");

工作。所以我猜想函数调用没有有效的百分比值(从 0 到 1,而不是 0 到 100)或正确的格式(点,而不是逗号等)。

如果您的值介于 0 到 100 之间,则只需将调用更改为

needle.moveTo((percent/100).toFixed(2));

关于javascript - 带后台 AJAX 更新的 D3 图表 : cannot redraw graph,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60127769/

相关文章:

javascript - 我什么时候应该在 JavaScript 中使用 "prototype"

php - 使用多个 AJAX 操作的正确方法?

javascript - 限制 d3.js 缩放到容器

javascript - 3d.js(强制)- 获取工具提示链接上的当前鼠标位置

php - 由于 echo 数组而没有 ajax 响应

javascript - D3和JS调用中函数如何传递参数

Javascript 和 Internet Explorer 8 错误

javascript - 如何诊断 Firefox 中的 "setting a property that has only a getter"问题

javascript - 如何使用 stateProvider 在 Angular 中的每个 $state.go() 之前调用函数

c# - 通过页面方法将 HTML 表格导出到 Excel