首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从Dynatable加载远程JSON

从Dynatable加载远程JSON
EN

Stack Overflow用户
提问于 2014-01-22 16:46:55
回答 1查看 14.3K关注 0票数 9

更新:为了避免问题完全归结于相同的来源策略的可能性,我尝试在本地服务,所有资产都来自使用发球http://localhost:4000。它并没有解决这个问题。因此,编辑小提琴可能无法工作,因为相同的起源策略,但您可以看到那里的代码。

我试图使用可动性加载外部JSON,跳过读/正常化步骤(它从现有的表生成JSON )。这应该是支持的,但对我不起作用。

这是我在JSFiddle上的尝试。从文档中加载JSON (对我来说似乎不太有用)工作得很好,就像在小提琴中看到的那样。但是,从URL中提取它根本不起作用。

这是我的JavaScript:

代码语言:javascript
运行
AI代码解释
复制
// getting JSON from the document works, but of what use is that?
$(document).ready( function() {
    $('#local').dynatable({
        dataset: {
            records: JSON.parse($('#music').text())
        }
    });        
    // getting JSON from a remote source fails:
    $('#remote').dynatable({
        dataset: {
            ajax: true,
            ajaxOnLoad: true,
            ajaxUrl: '//www.dynatable.com/dynatable-ajax.json',
            records: []
        }
    });
});

...which引用两个表,一个表的id为" local“,另一个表的id为"remote",并引用了包含本地表数据的脚本:

代码语言:javascript
运行
AI代码解释
复制
<h3>Remote JSON: Failing</h3>
<table class="table table-striped" id="remote">
  <thead>
    <th>Some Attribute</th>
    <th>Some Other Attribute</th>
  </thead>
  <tbody>
  </tbody>
</table>
<hr>
<h3>Local JSON: Succeeding</h3>
<table class="table table-striped" id="local">
  <thead>
    <th style="color: black;">Band</th>
    <th>Album</th>
  </thead>
  <tbody>
  </tbody>
</table>
<script id="music">
[
    {
        "band": "The Police",
        "album": "Ghost In The Machine"
    },{
        "band": "Supertramp",
        "album": "Breakfast In America"
    },{
        "band": "Peter Tosh",
        "album": "Mama Africa"
    },{
        "band": "The Police",
        "album": "Regatta d'Blanc"
    },{
        "band": "The Police",
        "album": "Zenyatta Mondatta"
    },{
        "band": "Supertramp",
        "album": "Crime of the Century"
    },{
        "band": "Talking Heads",
        "album": "Remain in Light"
    },{
        "band": "Talking Heads",
        "album": "Speaking in Tongues"
    }
]
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-24 09:26:45

远程无法工作的原因是,当通过AJAX获取数据时,响应JSON必须包含一些元数据以及实际记录。

如果查看动态文档中的AJAX示例,可以单击“查看AJAX数据”以查看格式:

代码语言:javascript
运行
AI代码解释
复制
{
  "records": [
    {
      "someAttribute": "I am record one",
      "someOtherAttribute": "Fetched by AJAX"
    },
    {
      "someAttribute": "I am record two",
      "someOtherAttribute": "Cuz it's awesome"
    },
    {
      "someAttribute": "I am record three",
      "someOtherAttribute": "Yup, still AJAX"
    }
  ],
  "queryRecordCount": 3,
  "totalRecordCount": 3
}

您可以看到实际的结果数组嵌套在响应JSON中的"records"下,它还返回集合中总共有多少条记录,以及当前集中有多少条记录。

dynatable需要这些元数据的原因是为了在表的底部执行分页和记录计数文本。由于您的服务器正在执行实际的查询、排序和分页(例如通过数据库查询或其他服务器端处理),所以dynatable只看到最终结果。因此,“自然”杂志永远不会知道:

  1. 这组记录中有多少个记录?
  2. 在过滤/查询集中有多少记录(跨所有页面)?
  3. 在筛选/查询的分页集中有多少记录(在当前页上)。

唯一可以从返回的结果中推断出的是(3),即在当前页面的过滤/查询集中有多少条记录。因此,它需要从服务器返回的JSON来告诉它(1)是totalRecordCount,(2)是queryRecordCount

当然,如果不需要所有这些,只需关闭分页和记录计数文本,并告诉dynatable,结果将位于服务器返回的JSON的根目录:

代码语言:javascript
运行
AI代码解释
复制
$('#remote').dynatable({
  features: {
    paginate: false,
    recordCount: false
  },
  dataset: {
    ajax: true,
    ajaxOnLoad: true,
    ajaxUrl: '//www.dynatable.com/dynatable-ajax.json',
    records: []
  },
  params: {
    records: '_root'
  }
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21297192

复制
相关文章
加载远程图片
根据默认图片的大小和位置,显示远程图片,只需要把组件挂载在Sprite上,需要更新的时候,调用以下方法即可。
一枚小工
2020/03/02
2K0
spring: 加载远程配置
通常在spring应用中,配置中的properties文件,都是打包在war包里的,部署规模较小,只有几台服务器时,这样并没有什么大问题。如果服务器多了,特别是集群部署时,如果要修改某一项配置,得重新打包、部署,一台台机器改过去,十分麻烦。 看了Spring-Cloud项目,深受启发,Spring-Cloud把配置文件放在远程的git或svn这类云平台之上,所有应用启动时从云上获取配置,配置需要修改时,直接修改git上的配置即可,十分方便,但是这个项目并不简单,新概念太多,需要一定时间熟悉。 借鉴一下spr
菩提树下的杨过
2018/01/18
1.9K0
hanlp 加载远程词库示例
·目前的实现方式是以远程词库的内容重新构建CustomDictionary.trie,demo主要是为了实现同步远程词库,对性能暂不作考虑,对性能要求要以CustomDictionary.dat为基础实现
IT小白龙
2019/04/26
8850
hanlp 加载远程词库示例
Vue项目api加载json文件
在vue项目开发过程中,免不了的要进行api接口的调用,当后端接口未搭建完成时,可以使用json文件模拟数据调用来搭建功能,同时有一些相关数据也是需要本地json文件支持,于是在这里介绍自己实战项目内嵌api接口调用本地数据json的方式
宋天伦
2020/07/16
2.3K0
SpringBoot中如何加载远程配置
本文章将通过结合consul config来讲解在springboot中如何加载远程配置:通过consul config加载consul server中存储的配置。
tunsuy
2022/10/27
1.5K0
使用Promise优雅加载远程资源
CocosCreator 有着 cc.loader.load 这个远程加载能力,如何优雅的去完成这个任务呢?KUOKUO 通过一个小例子带你感受一下 Promise 的魅力。
张晓衡
2020/05/06
1.7K0
使用Promise优雅加载远程资源
Android 远程调试 WebView 加载缓慢
事情的缘由,因为老韩某天贱嗖嗖的说,来,你搜下那个课程,现在免费,原价好几百,请你看。
贺biubiu
2019/12/04
1.3K0
ECharts加载json数据解决方案
json数据 https://echarts.baidu.com/examples/data/asset/data/aqi-beijing.json
王小婷
2019/05/07
5.2K1
ECharts加载json数据解决方案
Android数据加载和Json解析——蓝本
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117232.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/06
5930
vue动态加载远程js完美实践
其实vue加载远程js的教程很多,但是我比较笨呐。。。用不出来,每次都报方法/属性不存在的错误,来看一下典型的写法:
陨石坠灭
2018/10/19
9.5K0
从JSON进化到BSON
自从MEAN引导的JSON数据格式取代传统JAVA推崇的XML以后, json的发展却停滞不前了, 当然这是好事, 因为稳定的结构是不需要向下兼容的, 但是json之所以轻便简单就是源于它的类型, 额, 确切说json就是一个字符串, 是文本, 可以存储在文件中或者数据库字段里.
Jean
2018/10/12
2.3K1
select2加载远程数据示例
后台使用的springmvc+mybatis 分页使用的插件com.github.miemiedev.mybatis.paginator.domain.PageBounds;
河岸飞流
2019/08/09
1.6K0
select2加载远程数据示例
前端JS判断远程文件是否加载
每次在开发项目的时候为方便快捷开发,前端一般都直接使用CDN进行远程文件调用省却多级目录的问题。但这样一般都埋下了潜在的问题,就是怎么知道该远程文件是否已经加载的呢?
谭广健
2020/12/01
14.4K0
WPF 从文件加载字体
本文告诉大家从文件加载字体。在wpf 使用 fontfamily 显示指定的 ttf 显示字体。
林德熙
2018/09/18
2.1K0
如何从内存加载DLL
PE 头包含有关可执行文件内不同部分的信息,这些信息用于存储代码和数据或定义从其他库导入或此库提供的导出。
FB客服
2020/03/10
2.3K0
从 Newtonsoft.Json 迁移到 System.Text.Json
System.Text.Json 是 .NET Core 3 及以上版本内置的 Json 序列化组件,刚推出的时候经常看到踩各种坑的吐槽,现在经过几个版本的迭代优化,提升了易用性,修复了各种问题,是时候考虑使用 System.Text.Json 了。本文将从使用层面来进行对比。
晓晨
2023/03/08
2.4K0
浅谈低代码平台远程组件加载方案
低代码开发平台(LCDP)是无需编码(0 代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法,使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。这两年越来越多的公司和开发人员开始自研低代码平台来达到降本提效的目的。今天和大家分享一下低代码平台开发过程中遇到一个问题和对应的解决思路。
政采云前端团队
2022/12/01
1.8K0
浅谈低代码平台远程组件加载方案
记录Viper加载远程配置填坑过程
关于 viper,无须多言,它是 Golang 社区里最流行的配置文件工具,除了常见功能之外,它还支持很多高级功能,比如可以加载远程配置,正好我最近在研究 etcd,于是我打算把二者结合起来,没想到就此开启了填坑之旅。
LA0WAN9
2021/12/14
6520
记录Viper加载远程配置填坑过程
点击加载更多

相似问题

无法从远程json加载数据

31

带空格的Dynatable json数据

10

Dynatable实现

10

jqgrid不会从远程URL加载json数据

20

从远程json文件加载样式- React Native

115
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文