Netflix Falcor获取JSON数据
Netflix开源了JavaScript库Falcor,它为从多个来源获取JSON数据提供了模型和异步机制。
Netflix利用Falcor库实现通过JSON数据填充他们网页应用的用户界面。所有来自内存缓存或者多个数据库的后端数据,都通过一个虚拟JSON对象进行建模。这个JSON对象被称为“虚拟”,是因为从客户端的视角来看,这些数据来自内存,而事实上这些数据可能来自本地或者远程数据库。
数据通过JSON图提供,可以通过使用DataSource接口提供的get、set和call这几个异步方法操作。客户端能够通过类似直接访问JSON数据的方式,通过使用JavaScript路径的方式来遍历JSON图。为了便于演示,我们使用这个最小JSON对象:
{
"greeting": "Hello World"
}
如果这个JSON对象存储在model.json文件中,那么访问这个对象可以这样做:
<script src="https://netflix.github.io/falcor/build/falcor.browser.js"></script>
<script>
var model = new falcor.Model({source: new falcor.HttpDataSource('/model.json') });
// 从虚拟JSON资源的根节点获取“greeting”键的值
model.
get("greeting").
then(function(response) {
document.write(response.json.greeting);
});
</script>
Falcor包含一个路由,它隐藏了实际数据存储,指示调用负责获取数据的相应后端服务。另外,当数据获取回来后会被缓存起来,以避免后续对数据库的访问。Falcor也能够批处理多个请求,将它们合并成一个网络请求,如果当前已经有一个数据库请求,Falcor也不会重复请求。
Netflix已经将Falcor开放到GitHub上,请求社区来帮助查找和修复缺陷,并与各种MVC框架进行集成。
Netflix Falcor获取JSON数据的更多相关文章
- jquery通过ajax方法获取json数据不执行success
1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...
- jquery用ajax方式从后台获取json数据,将内容填充到下拉列表。
从后台获取json数据,将内容填充到下拉列表. url:链接 par:ID sel:下拉列表选择器 //获取下拉列表 function BuildSelectBox(url, par, sel) { ...
- JQuery 获取json数据$.getJSON方法的实例代码
这篇文章介绍了JQuery 获取json数据$.getJSON方法的实例代码,有需要的朋友可以参考一下 前台: function SelectProject() { var a = new Array ...
- Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据
jquery.tmpl.js 是一个模板js ,主要有2个方法 (1):$.template()方法,将一段script或者是Html编译为模板,例如 $.template('myTemplate' ...
- android客户端从服务器端获取json数据并解析的实现代码
今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下 首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的U ...
- jquery通过ajax方法获取json数据不执行success回调
问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述 ...
- (转)android客户端从服务器端获取json数据并解析的实现代码
今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下 首先客户端从服务器端获取json数据 1.利用HttpUrlConnection 复制代码 ...
- android客户端从服务器端获取json数据并解析的实现代码(重要)
首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exc ...
- Highcharts获取json数据展现pie饼图
实际上很多时候图表展现的数据都是从服务器端获取,现在来做一个简单的异步获取json数据的例子. 服务器端用Servlet3.0实现,JSP页面通过jquery异步请求json数据提供给Highchar ...
随机推荐
- Linux nginx日志按天分割实例
Linux nginx日志按天分割实例 nginx的日志有个小缺点,日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将导致日志文件非常大,不便于管理这就需要我们自己来实现了,按日期每 ...
- java实现httpclient2
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...
- jq 实现发送验证码倒计时功能
var util = { wait:60, hsTime: function (that) { _this = this; if (_this.wait == 0) { $('#hsbtn').rem ...
- java环境变量设定
1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0 ...
- int转string
#include<iostream> #include<sstream> #include<string> using namespace std; int mai ...
- Halcon 10.0:Sample 分割边缘拟合圆Circles.hdev
处理流程:快速二值化(区域)->获取区域边缘->截取边缘->膨胀边缘区域(定位)->定位区域进行边缘检测->边缘分割:线和圆->选择属性为圆的弧->拟合圆 * ...
- <1 小玩意(覆盖效果)
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...
- 转换primitive主数据类型
/*转换primitive主数据类型 * 短变长直接转换 * 长变短要强制转换 * 例如:long y = 42; int x = (int)y * String类型转换成primitive类型时可以 ...
- iOS开发中的数据安全隐患和解决方案
移动互联网的兴起,每天都会涌现大量的app产品,无论公司开发还是个人开发,大家都在追求更快的抢占市场,但是确忽略了打磨产品,也忽略了移动开发中的数据安全隐患,如果我们用Charles工具,很容易截获到 ...
- pads 扇出
1 选择BGA器件 2.扇出设置 3 安全间距问题 4 可以区域扇出也可以多点扇出