我有一个带有表单的网站(目前它是纯HTML,但我们正在切换到JQuery)。流程是这样的:
运行一些计算服务器端...并生成一个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对象,但不清楚我在哪里放置它的选项。
答案 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。
如果您从本地页面(或不在网站上的页面)运行脚本,请确保服务器能够允许跨源(或域)请求。
如果要在多个调用之间保留数据,则可能必须嵌入回调或使用全局变量。