2013-05-30 97 views
0

我是Backbone.js的新手,现在我需要使用ajax处理BackBone.js中的express路由器方法结果,我知道如何使用jquery完成此任务。但没有使用jQuery如何使用Backbone.I已经了解了骨干路由器,模型,视图和集合,但我仍然不清楚。如何使用ajax处理BackBone.js中的express路由器方法

app.js

var express=require('express'); 
    var app=express(); 
    app.use(express.bodyParser()); 
    app.all('*',function(req,res){ 

     res.writeHead(200, {'Content-Type': 'text/json'}); 
     res.write(JSON.stringify(result)); 
     res.end(); 
    }); 
    app.listen(8080); 

我处理这取决于请求我需要发送的page.In的头部和身体“结果”参数我送身体快递所有要求和标题,但我不知道如何得到Backbone.js.Below代码的结果是处理来自节点js.js的ajax响应。它是正确的。

client.js

var MyModel = Backbone.Model.extend(); 
    var MyCollection = Backbone.Collection.extend({ 
    url: '/index.html', 
    model: MyModel 
}); 
var coll = new MyCollection(); 

coll.fetch({ 
    error: function (collection, response) { 
     console.log('error', response); 
    }, 
    success: function (collection, response) { 
     console.log('success', response); 
    } 
}); 
+0

? –

+0

@Maxi Baez不,我没有使用集合来下载html代码。在所有请求的服务器中,我将为常见的html模板提供服务。然后根据请求我将获取页面的正文和标题并将其发送给客户端。 – sachin

回答

0

而是抓住所有路线的尝试像

app.get('/models/',function(req,res){ 
    res.json({{id: 1, name: 'max'},{id: 2, name: 'bill'}}); 
}); 

这是模型的范例JSON对象。

var MyModel = Backbone.Model.extend({}); 

这是一个空模型

var MyCollection = Backbone.Collection.extend({ 
    url: '/model/', 
    model: model 
}); 

使用我们的空模型的集合。

var coll = new MyCollection(); 
coll.fetch({success: function() { 
    console.log(coll); 
} 
}); 

忽略错误,只关注成功。

这应该适合你。一个伟大的系列教程中,我发现在开始的时候是 http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/

希望这是否使用骨干的集合下载HTML代码有助于

+0

好的,我会试试这个。 – sachin

+0

我试过这个..result没有进入成功回调,而是显示在浏览器页面中。 – sachin

+0

然后你试图访问浏览器中的/ model/route,而不是通过主干。你需要使用app.use(express.static(__ dirname +'/ public')); 然后创建一个名为public的文件夹。在它有一个index.html并在脚本标记中输入主干代码。我真的建议你遵循一个教程,因为这不是组织代码的最佳方式。 – Xerri

相关问题