我有3个js文件:
app.js
$.ajaxSetup({
error : function(request) {
switch (request.status) {
...
case 422:
App.handle422(request);
break;
...
}
}
});
种族registration.js
var RaceRegistrationProxy = {
url : App.getContextPath() + "/api/event",
submitRegistration : function(raceId, eventId, data) {
return $.ajax({
type : "POST",
url : this.url + "/" + eventId + "/" + raceId + "/registration",
data : JSON.stringify(data),
contentType : "application/json",
beforeSend : function(request) {
App.setHeader(request)
}
});
}
}
main.js
...
$("form").submit(function(event) {
event.preventDefault();
$("[id$='-message']").hide();
var data = {
'team_name' : $("#teamName").val(),
'category_id' : $("#categoryId").val(),
'members_ids' : memberIds
};
RaceRegistrationProxy.submitRegistration(raceId, eventId, data)
.done(registrationOk)
.fail(registrationFail);
});
...
如何在此特定方法中发生错误时禁用ajaxSetup?我已经尝试在submitRegistration方法中使用 global:false 。
答案 0 :(得分:1)
我在commitRegistration方法中将错误属性添加到ajax调用。
<form id="form">
<input type="checkbox" class="checkbox" name="E113" value="{'id':'sxk1', value: '19'}"/>
<input type="checkbox" class="checkbox" name="E113" value="{'id':'sxk22', value: '29'}"/>
<input type="checkbox" class="checkbox" name="E013" value="{'id':'kxk1', value: '22'}"/>
<input type="checkbox" class="checkbox" name="E013" value="{'id':'sxk3', value: '15'}"/>
</form>
答案 1 :(得分:1)
您可以通过传递每个ajax调用
选项来覆盖它使用任何函数的所有后续Ajax调用都将使用new 设置,除非被个别电话覆盖,直到下一次 调用$ .ajaxSetup()。
像:
return $.ajax({
type : "POST",
url : this.url + "/" + eventId + "/" + raceId + "/registration",
data : JSON.stringify(data),
contentType : "application/json",
beforeSend : function(request) {
App.setHeader(request)
},
// here you overrite $.ajaxSetup().
error : function() {}
});