Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 通过AJAX加载的触发器事件_Jquery_Ajax - Fatal编程技术网

Jquery 通过AJAX加载的触发器事件

Jquery 通过AJAX加载的触发器事件,jquery,ajax,Jquery,Ajax,问题:从包含jQuery调用中使用的组件的Ajax请求检索数据时。jQuery不工作 解决方案:正如Bikash Waiba所回答的,发生这种情况的原因是jQuery功能需要知道页面已加载 您可以将其变成一个函数,并使用onclick=“”属性调用该函数 <script> function request(id) { $.ajax({ url: '../resources/handlers/like.php', type: 'POST',

问题:从包含jQuery调用中使用的组件的Ajax请求检索数据时。jQuery不工作


解决方案:正如Bikash Waiba所回答的,发生这种情况的原因是jQuery功能需要知道页面已加载

您可以将其变成一个函数,并使用
onclick=“”
属性调用该函数

<script>
function request(id) {
    $.ajax({
      url: '../resources/handlers/like.php',
      type: 'POST',
      data: {id: id},
      cache:false,
      success: function(data) {
        $('#likeNumber').html(data);
      }
    });
}
</script>
<div class='community-post-like-button' id='likeClick' data-value='test' onclick="request(this.id);">Like Me</div>

功能请求(id){
$.ajax({
url:“../resources/handlers/like.php”,
键入:“POST”,
数据:{id:id},
cache:false,
成功:功能(数据){
$('#likumber').html(数据);
}
});
}
像我一样

您可以将其制作成一个函数,并使用
onclick=“”
属性调用该函数

<script>
function request(id) {
    $.ajax({
      url: '../resources/handlers/like.php',
      type: 'POST',
      data: {id: id},
      cache:false,
      success: function(data) {
        $('#likeNumber').html(data);
      }
    });
}
</script>
<div class='community-post-like-button' id='likeClick' data-value='test' onclick="request(this.id);">Like Me</div>

功能请求(id){
$.ajax({
url:“../resources/handlers/like.php”,
键入:“POST”,
数据:{id:id},
cache:false,
成功:功能(数据){
$('#likumber').html(数据);
}
});
}
像我一样

从php函数中回显html完全可以。如果在页面加载后通过ajax动态回显块,则会出现问题。在这种情况下,您可以执行以下操作

$(document).on("click",'#likeClick',function(e){
     var id = $('#likeClick').data('value');
   $.ajax({
     url: '../resources/handlers/like.php',
     type: 'POST',
     data: {id: id},
     cache:false,
     success: function(data) {
       $('#likeNumber').html(data);
     }
   });
});

从php函数回显html是绝对正确的。如果在页面加载后通过ajax动态回显块,则会出现问题。在这种情况下,您可以执行以下操作

$(document).on("click",'#likeClick',function(e){
     var id = $('#likeClick').data('value');
   $.ajax({
     url: '../resources/handlers/like.php',
     type: 'POST',
     data: {id: id},
     cache:false,
     success: function(data) {
       $('#likeNumber').html(data);
     }
   });
});

如果有几行,则必须使用class属性而不是id属性(对于#likelick,请使用class.community post-like按钮id)在同一HTML文档中不应重复。 您的代码将如下所示

HTML


如果有几行,则必须使用class属性而不是id属性(对于#likelick,请使用class.community post-like按钮id)在同一HTML文档中不应重复。 您的代码将如下所示

HTML


如果您正在使用ID,请确保该ID不会在同一页上重复。如果你的情况是这样的话,试着在你的活动中使用课堂。好的观点!这是while循环的一部分,因此我大量生成了许多结果,所有结果都包含相同的id。我可以建议,我最初使用该类作为选择器,问题仍然是一样的。您使用了函数,这很好。但是也应该使用dom事件绑定。谢谢,它在JSFIDLE中运行良好,但由于某些原因,我无法在我的场景中使用标准事件绑定。我将尝试清理它并再次尝试这种方式。如果您使用的是ID,请确保该ID不会在同一页上重复。如果你的情况是这样的话,试着在你的活动中使用课堂。好的观点!这是while循环的一部分,因此我大量生成了许多结果,所有结果都包含相同的id。我可以建议,我最初使用该类作为选择器,问题仍然是一样的。您使用了函数,这很好。但是也应该使用dom事件绑定。谢谢,它在JSFIDLE中运行良好,但由于某些原因,我无法在我的场景中使用标准事件绑定。我将尝试清理它并再次尝试这种方法。您可以直接将id传递给不需要的函数
var id=$('likeClick')。data('value')作为一个函数可以完美地工作,感谢您解释这种方式的工作原理!您可以直接将id传递给不需要的函数
varid=$('likeClick')。data('value')作为一个函数可以完美地工作,感谢您解释这种方式的工作原理!这正是我正在做的,代码是通过ajax进行响应的。这是非常有趣的知道,我感谢你的回答!这正是我正在做的,代码是通过ajax进行响应的。这是非常有趣的知道,我感谢你的回答!