我有一些ajax返回403错误消息,但是当它发生时,与ajax调用关联的click()函数不再有效。我不会在ajax调用之前或之后追加或添加任何HTML,如果ajax没有收到403错误,则没有问题。只是如果我从ajax POST收到403错误,那么click()就会中断。我该如何解决这个问题?
这是我的代码:
$( "#add_comment" ).on('click', null, function() {
var data = {token:"{{ Session::token() }}", comment:$('#game_comment_form form textarea').val() };
$.ajax({
type: "POST",
dataType: 'json',
url: '/game/comment/{{$game->id}}',
data: data,
success: function(data){
alert("Success");
},
statusCode: {
403: function() {
alert( "Forbidden" );
}
},
error: function(e){
alert("Error");
console.log(e);
}
});
return false;
});
答案 0 :(得分:1)
为什么不试试$ .post();方法?
像这样......$.post('/game/comment/{{$game->id}}',data,function(data){
alert("Success");
}).done(function(data, textStatus, jqXHR) {
// called on success
}).fail(function(jqXHR, textStatus, errorThrown) {
// called on failure
}).always(function() {
// called in both cases
});
答案 1 :(得分:0)
原来我完全忽略了这样一个事实:我手动禁用了输入按钮,只是忘了在403之后重新启用它。我打算删除它但希望其他人可能会意识到他们的简单错误,因为我和这有助于他们解决。