我有一个带有表单的网站(目前它是纯 HTML,但我们正在切换到 JQuery)。流程是这样的:
- 接受用户的输入 --- 5 个整数
- 通过 REST 调用网络服务
在服务器端运行一些计算...并生成一个 JSON 对象
???现在我有了我的结果 JSON 对象,但我如何将它发送给客户端呢?坚持吗? ??? URL 是否需要是 JSON 文件的确切位置?那将意味着 100 的 ???我的 Web 服务器的 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 对象,但不清楚我可以选择将它放在哪里。
最佳答案
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",function(error,received)){
}
很明显,这些表单参数很容易在服务器端被解析。在服务器上解析值后,服务器可以使用已解析的表单参数生成新的 JSON。
如果您从本地页面(或不在网站上的页面)运行脚本,请确保服务器能够允许跨源(或域)请求。
如果您想在多个调用中保留数据,您可能必须嵌入回调或使用全局变量。
关于javascript - 向客户端发送 JSON 数据? D3.js 渲染 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21741580/