将对象从主干发布到REST
我正在尝试将数据从前端发布到RESTful。我是一个骨干初学者,所以我的问题可能很容易解决。但是我一整天都在为此而挣扎,所以现在我要寻求指导 我有一个按钮,用于向REST添加数据。所以在我看来,我使用将对象从主干发布到REST,rest,backbone.js,Rest,Backbone.js,我正在尝试将数据从前端发布到RESTful。我是一个骨干初学者,所以我的问题可能很容易解决。但是我一整天都在为此而挣扎,所以现在我要寻求指导 我有一个按钮,用于向REST添加数据。所以在我看来,我使用object.save()将对象保存到模型 这是我的模型: define(["underscore" , "backbone"],function(_ , Backbone){ var Test = Backbone.Model.extend({ url:'http://mys
object.save()代码>将对象保存到模型
这是我的模型:
define(["underscore" , "backbone"],function(_ , Backbone){
var Test = Backbone.Model.extend({
url:'http://mysite.com/Test/Test.svc/AddTest',
idAttribute: 'ID'
});
return Test;
});
视图:
define(["jquery" ,
"underscore" ,
"backbone" ,
'models/Test',
'views/Test',
],function($ , _ , Backbone , Test, TestView){
var HomeView = Backbone.View.extend({
initialize: function() {
//....
},
events : {
"click #byn" : function(){
//....
},
'click #test' : 'addTest'
},
addTest : function(){
var object = new Test();
object.set({
"ID" : 0,
"Name" : "",
"CustomerID" : 106,
"Type" : 0,
"LastUpdated" : "\/Date(1383152400000+0700)\/",
"Detail" : [
{
"ID" : 0,
"TID" : 0,
"ItemID" : 22776,
"Quantity" : 2,
"LastUpdated" : "\/Date(1383152400000+0700)\/"
}
]
});
object.save();
var _wlView = new TestView({model:object});
},
render : function(){
//....
}
});
return HomeView;
});
说实话,我真的不知道如何在我的视图object.save()中发布我保存的对象
到restful抛出rest url,如。模型的url应声明为urlRoot值,最好将其设置为相对值(例如“/AddTest”)
然后保存操作的后端路由将是“实际url”+“urlRoot”。首先,您没有为测试
模型定义url。其次,object
是Backbone.Model
的实例吗?我已经尝试了var Test=Backbone.Model.extend({url:'http://mysite.com/Test/Test.svc/AddTest,idAttribute:'ID'})代码>但没有任何意义:/Yes,当然object
是TestModel
的一个实例。我建议添加相关的视图代码和创建模型的位置,以便有人能看到您的错误所在。下面是一个简单的model.save()
演示。打开控制台以查看请求@fbynite:我在我的问题中添加了代码。对不起,后端路由,你在这里是什么意思?我的意思是可以访问的服务器端路由,例如在PHP脚本中。在这里,我使用主干,然后连接到REST。那么后端路由位于哪里呢?抱歉,但我认为REST意味着代表性状态转移。实际上,它并不是为您的请求创建响应,而是将请求从客户端(前端)传输到服务器端(后端)。无论如何,您需要声明模型的URL,正如我前面提到的。然后,正确的REST url将是“实际url”+“urlRoot”。模型'url:'/AddTest'的声明url,但正确的REST url将是“实际url”+“urlRoot”