javascript - jquery .click() 在 Ajax 403 响应后不起作用

标签 javascript jquery ajax

我有一些 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;

});

最佳答案

你为什么不试试$.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 
});

关于javascript - jquery .click() 在 Ajax 403 响应后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28380691/

相关文章:

javascript - 模拟 Ajax(Reactjs + Mobx)

java - 做一个运行代码的网站

javascript - 用户界面路由器 : Difference between onEnter and onStart?

javascript - 渐进增强和初始显示状态

php - 单击提交按钮时隐藏隐藏的输入值 (php/jquery)

jQuery:keyPress Backspace 不会触发?

javascript - 在 JavaScript 中处理 PHP 数组变量并能够使用索引获取这些值的最有效和正确的方法是什么

javascript - JQuery 在元素级别内联复制 onmouseenter 逻辑

javascript:Internet Explorer 在表单提交/页面卸载之前不发送 ajax 调用

c# - 使用更新进度 C#.NET 时更新面板内的 Response.Redirect