当前位置: 首页 > 面试题库 >

jQuery AJAX调用:成功后$(this)不起作用

马琛
2023-03-14
问题内容

我想知道为什么$(this)在jQuery ajax调用后不起作用。

我的代码是这样的。

$('.agree').live("click", function(){  // use live for binding of ajax results
      var id=($(this).attr('comment_id'));
      $.ajax({
        type: "POST",
        url: "includes/ajax.php?request=agree&id="+id,
        success: function(response) {
            $(this).append('hihi');
        }
      });
      return false;
    });

为什么在ajax调用之后,$(this)在这种情况下不起作用?如果我在ajax之前使用它会起作用,但之后没有效果。


问题答案:

在jQuery ajax回调中,“ this”是对ajax请求中使用的选项的引用。它不是对DOM元素的引用。

您需要首先捕获“外部” $(this)

$('.agree').live("click", function(){  // use live for binding of ajax results
      var id=($(this).attr('comment_id'));
      var $this = $(this);
      $.ajax({
        type: "POST",
        url: "includes/ajax.php?request=agree&id="+id,
        success: function(response) {
                $this.append('hihi');
        }
      });
      return false;
    });


 类似资料:
  • 问题内容: 我使用React和jQuery。这是我的代码的一部分。 在安装组件之前,我执行ajax请求以了解用户是否已登录。 当响应返回状态码200 时,应该设置状态。我使用的是错误的吗? 编辑01 当我在回调中。 在下面。 解决方案 我上面的代码是反模式。 请遵循答案我建议的一种方法。另外,React文档已经为我的案例提供了非常有用的解决方案:通过AJAX加载初始数据 同样,setState是异

  • 问题内容: jQuery click函数在这里工作正常 但是如果我通过ajax 设置一些功能,将无法正常工作。 例如 现在,最后一个不起作用。 jsfiddle示例:http : //jsfiddle.net/suhailvs/wjqjq/ 注意:CSS在这里工作正常。 我想使这些新添加的与jQuery click一起工作。 问题答案: 问题是.click仅适用于页面上已经存在的元素。如果要连接将

  • 问题内容: 我有一份注册表,正在使用它提交。 这是我的AJAX请求: 在我的 Submit1.php 文件中,我检查数据库中是否存在 电子邮件地址 和 用户 名字 段。如果这些值存在 而没有页面刷新, 则希望显示一条错误消息。 如何将其添加到我的AJAX请求的 成功 回调中? 问题答案: 结果可能不是JSON格式,因此当jQuery尝试如此解析时,它将失败。您可以使用回调函数捕获错误。 无论如何,

  • 问题内容: 以下代码从文件加载html内容我使用了该线程 请让我知道问题是什么?我希望这是愚蠢的:) 编辑:正确的代码 谢谢乔恩和大家! 问题答案: callback()函数在响应到达时运行,并且不在方法范围内运行,因为该函数已经结束。 您可以在调用中使用属性来设置回调函数的上下文:

  • 问题内容: 我正在一个网站上,我们从XML文件中获取信息。效果很好,但是现在我需要对内容进行滑动。为此,我将使用jCarousel声明它们可以通过调用回调函数来处理动态加载的内容。 但是,当我成功调用函数时,无法进行初始的ajax加载。我究竟做错了什么? 我做错什么了吗?还是我必须去一个完全不同的地方?:-) 问题答案: 使用hulabula代替hulabula()或将函数直接传递给ajax选项:

  • 问题内容: 我一直在使用jQuery中的ajax工具,并且在成功执行ajax时使用$(this)遇到了问题。我想知道是否有可能在您的成功中使用$(this),正如我所见的教程使用它那样,但是当我尝试使用它时,它不起作用…但是,如果我使用$(document)或其他某种方法来获得它,我想要的对象工作正常…任何帮助将不胜感激,因为我对jQuery很陌生!提前致谢!我正在玩的代码如下: 问题答案: 总是