我正在使用主干开发网络应用程序。在我的主干视图中,我正在使用事件表单提交。首次加载视图时,表单提交就可以了。但是当我在路由器之间切换然后我提交我的表单时,它会发送多个相同的 ajax 请求。
我的观点如下..
var View_AdvanceSearchArea = Backbone.View.extend({
el: '.page',
events: {
'change #genderID': 'genderChange',
'change #areaID': 'areaChage',
'submit #advanceSearchForm': 'formSubmit'
},
genderChange: function() {
$.ajax({
url: 'getBodyHeightByGender',
type: 'POST',
data: '&genderID=' + $('#genderID').val(),
success: function(res) {
$('#bodyHeightID').html(res);
}
});
$.ajax({
url: 'getAgeByGender',
type: 'POST',
data: '&genderID=' + $('#genderID').val(),
success: function(res) {
$('#seventhDigitID').html(res);
}
});
},
areaChage: function() {
$.ajax({
url: 'getSubAreaByArea',
type: 'POST',
data: '&areaID=' + $('#areaID').val(),
success: function(res) {
$('#subAreaID').html(res);
}
});
},
formSubmit: function(e) {
e.preventDefault();
var formData = $('#advanceSearchForm').serializeArray();
var vAdvanceSearchResult = new View_AdvanceSearchResult();
vAdvanceSearchResult.render(formData);
},
render: function() {
var $this = this;
var mAdvanceSearchForm = new Model_AdvanceSearchForm();
mAdvanceSearchForm.fetch({
success: function(res) {
var template = _.template($('#advance_search_area').html(), {res: res.attributes});
$this.$el.html(template);
}
});
}
});
问题是什么?有什么帮助吗?