3

在当今时代通过 XHR 使用复杂 json 对象的最佳方式是什么?

在进行数据绑定时,在javascript中,到目前为止我使用的是Sencha的Ext.Js/ Sencha touch模型

例如:

    Store = Ext.create('Ext.data.Store',{
    Constructor: function (config) {
        var config = Ext.apply({}, config, {
            model: 'BasicModel',
            proxy: {
                type: 'ajax',
                url: 'myServerUrl.json',
                reader: {
                    type: 'json'
                }
            }
        });
    }   
});    

这使我可以很容易地使用服务器数据,并且还为商店周围的各种酷魔法提供了便利的方法(REST/排序等隐形)。

目前,我正在尝试使用更少的 ExtJs,在我做的一些项目中,因为在某些方面它有点重,因此我正在寻找与 Ext 的数据存储具有相似/更好功能的东西,不是 ExtJS(例如不是 Ext -核)

目前最好的 XHR 实用工具包是什么?

4

2 回答 2

1

我会推荐 Knockout.JS 或 Backbone。

来自 Knockout.js文档

HTML

<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>
<h2>Hello, <span data-bind="text: fullName"> </span>!</h2>

JS

// Here's my data model
var ViewModel = function(first, last) {
    this.firstName = ko.observable(first);
    this.lastName = ko.observable(last);

    this.fullName = ko.computed(function() {
        // Knockout tracks dependencies automatically. It knows that fullName depends on firstName and lastName, because these get called when evaluating fullName.
        return this.firstName() + " " + this.lastName();
    }, this);
};

ko.applyBindings(new ViewModel("Planet", "Earth")); // This makes Knockout get to work

正如我所说,Backbone 也是您特定问题的解决方案。 是一个由菜鸟为菜鸟设计的 Backbone 教程。是关于跨域处理的更中级教程

于 2012-07-18T12:44:16.380 回答
0

您还应该考虑 Angular.js http://angularjs.org/。这是我的一位同事 Greg Weber 的博客文章。

http://tunein.yap.tv/javascript/2012/06/11/javascript-frameworks-and-data-binding/

他有很多关于各种框架的例子。我不确定是在这里复制他的 blob 帖子更好,还是只提供一个链接。现在我将留下链接。

于 2012-07-28T14:34:16.347 回答