我的 javascript 中有一个将数据发送到 Rails 控制器的 ajax 请求。如果控制器发现数据与数据库中已有的信息重复,则返回“无法处理的实体”错误。
我想打开一个对话框并询问用户是否确定要插入重复信息。如果用户说是,我想向数据对象添加另一个键并重试请求。添加的键将是一个忽略重复检查并插入数据的标志。
$.ajax({
url: '/url',
type: 'post',
data: this.buildData(),
success: function() {
bootbox.alert('Information added', function() {
Backbone.history.loadUrl();
}.bind(this)
);
}.bind(this),
error: function(jqXHR, textStatus, errorThrown) {
if(errorThrown === 'Unprocessable Entity') {
bootbox.confirm('Do it anyway?', function(confirm) {
if(confirm) {
/*Here I want to add another key to the data object and resend the request*/
}
}.bind(this)
);
}
}.bind(this)
});
我将如何去做,或者更好的是,有没有更好的方法来做我想要完成的事情?