将JSON数据发送到客户端? D3.js渲染JSON数据

时间:2014-02-12 22:48:25

标签: javascript ajax json d3.js

我有一个带有表单的网站(目前它是纯HTML,但我们正在切换到JQuery)。流程是这样的:

  • 接受用户的输入--- 5个整数
  • 通过REST调用Web服务
  • 运行一些计算服务器端...并生成一个JSON对象

    ???现在我有我的结果JSON对象,但是如何将它传递给客户端?坚持下去? ??? URL是否必须是JSON文件的确切位置?这意味着100 ???我的网络服务器的DIR中的JSON文件。

  • 客户端的
  • D3.js等待数据存在(通过AJAX?)。

    var data; // a global
    
    d3.json("path/to/file.json", function(error, json) {
    if (error) return console.warn(error);
         data = json;
         visualizeit();
    });
    
  • 数据出现后,为客户端呈现,然后从屏幕上删除计算器。

我在这里度过了一段艰难的时光,因为我注意到所有的AJAX请求都需要一个URL ..但这是否意味着我需要为每个生成的JSON对象提供一个唯一的URL?这是不是意味着我需要坚持这个对象?

我只想让d3.js渲染我的JSON对象,但不清楚我在哪里放置它的选项。

1 个答案:

答案 0 :(得分:2)

How do I post parameter on d3.json?

通常,您将通过javascript对象或传递一些参数 查询参数。 基本上,像... ...

  
    

data = {}

         

data.var1 = 5;

         

data.var2 = 10;

         

var my_request = d3.xhr(url)

         

my_request.post(JSON.stringify(data),function(error,received)){

         

};

  

或者

  
    

d3.json(URL + + “VAR1 = 5&安培; VAR2 = 10”, “?”,功能(错误,接收到的)){

         

}

  

显然,这些表单参数可以很容易地在服务器上解析。在服务器上解析值之后,服务器可以使用已解析的表单参数生成新的JSON。

如果您从本地页面(或不在网站上的页面)运行脚本,请确保服务器能够允许跨源(或域)请求。

如果要在多个调用之间保留数据,则可能必须嵌入回调或使用全局变量。