Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在客户端(javascript)使用JSON数据的最佳实践_Javascript_Json - Fatal编程技术网

在客户端(javascript)使用JSON数据的最佳实践

在客户端(javascript)使用JSON数据的最佳实践,javascript,json,Javascript,Json,我有一个REST api,它转储一些json数据用户信息等。现在我需要使用这些数据来: 构造html表, 使用一些js图形库的平面图, 对某些字段执行一些计算,然后再次显示它们。 因此,本质上我需要对这些数据进行一些处理,然后显示改进后的表单 我是javascript新手,正在尝试理解构建html的最佳实践是什么 我使用jquery进行ajax调用,成功部分如下所示: success:function(data){ $('#show_data_here').empty(); genera

我有一个REST api,它转储一些json数据用户信息等。现在我需要使用这些数据来:

构造html表, 使用一些js图形库的平面图, 对某些字段执行一些计算,然后再次显示它们。 因此,本质上我需要对这些数据进行一些处理,然后显示改进后的表单

我是javascript新手,正在尝试理解构建html的最佳实践是什么

我使用jquery进行ajax调用,成功部分如下所示:

success:function(data){
  $('#show_data_here').empty();
  generated_html  = construct_html(data);
  $('#show_data_here').html(generated_html);
}

现在,construct_htmldata函数变得非常难看,因为我收到的json是巨大的800行,我有很多10个图形显示在一个页面上。有更好的方法来解决这个问题吗?

< P>根据您正在构建的HTML类型,您可能需要考虑使用模板化框架,如


如果你正在构建的HTML遵循一个明确的模式,这可能是方法。

取决于你正在构建的HTML类型,你可能想考虑使用模板。
如果您正在构建的html遵循一个确定的模式,那么这可能是一种方法。

首先尝试将它们分解为执行每个任务的函数。 然后在每个任务中,您可能有子任务。再把它们拆开

success:function(data){
  constructTable(data.tableData);
  grabLib.create(data.graphData);
  updateCalculations(data.tableData);
}

function constructTable(data)
{
  var html = '';
  // foreach
  $('table tbody').empty().html(html);
}

// etc

理想情况下,您希望处理能够为您执行任务的对象,但第一步是分解功能。分成更小的块。

首先,尝试将它们分解为执行每个任务的函数。 然后在每个任务中,您可能有子任务。再把它们拆开

success:function(data){
  constructTable(data.tableData);
  grabLib.create(data.graphData);
  updateCalculations(data.tableData);
}

function constructTable(data)
{
  var html = '';
  // foreach
  $('table tbody').empty().html(html);
}

// etc

理想情况下,您希望处理能够为您执行任务的对象,但第一步是分解功能。分成更小的块。

Jquery模板不再受支持。@John ok。。也许我会离开jsrender。@ŠimeVidas我还没试过。我一定会去看看的。这个网站有一个入门指南。请检查。Jquery模板不再受支持。@John ok。。也许我会离开jsrender。@ŠimeVidas我还没试过。我一定会去看看的。这个网站有一个入门指南。检查一下。我很想用这种方法,希望事情不会变得混乱。如果他们变得混乱,考虑在JavaScript中使用一个对象。您可以将功能包含在一个区域中:,然后将每个对象创建为一个单独的js文件。我应该尝试使用这种方法,希望事情不会变得混乱。如果他们变得混乱,考虑在JavaScript中使用一个对象。您可以将功能包含在一个区域中:,然后将每个对象创建为一个单独的js文件。应该保持东西整洁。