1
我有一个骨干模型,看起来像这样主干在模型URL中插入查询字符串。我如何阻止它?
...
var Address = Backbone.Model.extend({
urlRoot: '/address/'
});
return { address: Address }
});
我有一个表格打印出一个地址的模板。该模板由在其“渲染”函数中传递地址标识的视图呈现。这个视图是通过像这个'address /:id'这样的路线来达到的。
视图看起来像这样:
var AddressView = Backbone.View.extend({
el: $('#myclass'),
render: function(options) {
var that = this;
var addr = new A.address({id: options.aid});
addr.fetch({
reset: true,
success: function(address) {
var template = _.template(ATemplate, {address: address});
that.$el.html(template);
}
});
return this;
},
events: {
'submit .edit-address-form': 'editAddress'
},
editAddress: function(ev) {
//serializeObject creates JSON object from form data
var addressDetails = $(ev.currentTarget).serializeObject();
addr.save(addressDetails, function(addr) {
R.router.navigate('', {trigger: true});
});
return false;
}
});
return {
addressView: new AddressView()
};
});
有两个问题。第一个问题是'editAddress'函数永远不会被调用,即使类名是正确的,并且按钮类型='submit'。
第二个问题是,当我提交的地址形成,一个查询字符串的基本URL和/#/地址之间内插的URL是乱码,如在
HTTP:/// ldmanclient /地址= 2500 +莫菲特+库&地址2 =大学+ +的加利福尼亚%2C +伯克利&城市=伯克利&邮编= 94720 & mailcode = 6000 &援助= 1#/地址/ 1
有没有人见过这种类型的行为?我究竟做错了什么?
你有没有想过这个? – Sean