javascript - 如何使用离线 Plotly 和 Pyramid 更新绘图而不重新加载网页?

标签 javascript jquery python pyramid plotly

我正在尝试根据网页上的某些用户选择重新加载离线 Plotly 图表。我正在使用 Pyramid 来生成网页。捕获用户输入后,我使用以下 jQuery 为 div 生成内容:

$.getJSON("{{ request.route_url('park_list') }}" + "feature_plot/feature_ids=" + ids_string, function(data) {
    document.getElementById("plotly").innerHTML = data.result;
});

getJSON 的第一个参数基于 Jinja2 模板,其中检索 url。那里的输出是一个带有“结果”键/值对的 json 字典。该值是 div 内容,即 Plotly 图表。然后我尝试将其插入到名为“plotly”的 div 容器中。

问题是没有插入任何内容。我看到一个宽度为 0 的空 block ,如果我尝试修复宽度,这是成功的,但仍然没有可见的内容。

我的问题是:在不重新加载页面的情况下动态更新离线 Plotly 的正确方法是什么?

最佳答案

使用 Firefox Web 开发人员控制台 > 网络选项卡检查生成的 HTTP 响应负载。它很可能不是 JSON,或者不包含 result 属性,从而导致 getJSON 失败。

对于 ghetto 调试,您还可以执行以下操作:

console.log(data);

...在尝试插入 HTML 之前。

此外,如果您的目标只是通过 AJAX 调用替换页面上的 HTML 元素,其中生成的 HTML 在服务器端呈现,您可以简单地执行以下操作:

$.get(url, function(html) {
    $("#myelem").replace(html);
});

关于javascript - 如何使用离线 Plotly 和 Pyramid 更新绘图而不重新加载网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41426136/

相关文章:

javascript - Ajax beginform 在部分 View MVC 中的 JQuery 中不起作用

python - MITM 代理,获取整个请求和响应字符串

Python3 : ImportError: No module named '_ctypes' when using Value from module multiprocessing

python - 如何为 pandas 日期时间转换添加开始日期并将公式扩展到 excel 中的所有行?

javascript - 将输入附加到 HTML 表单而 JQuery 不起作用

javascript - Jquery yii CJuiTabs 添加新选项卡

javascript - 任何开源标签编辑器,就像 SO 一样?

javascript - jQuery datetimepicker 插件的 setDefaults

javascript - 向下滚动页面时如何使 Logo 出现在固定菜单中

javascript - 未捕获的插入函数参数不是字符串