Javascript停止运行过去的$(。class).html(结果)

时间:2017-12-07 08:50:16

标签: javascript jquery ajax

我有以下代码,当点击.expandproducts按钮时,它会从一个类别中加载一组产品:

$('.expandproducts').click(function(){
    id = $(this).attr("data-id");
    urlajax = document.location.origin + "/ajaxproducts?category=" + id;
    $.ajax({url: urlajax, success: function(result){
        $("." + id).html(result);
        //code seems to stop here! Cannot figure out why YAY is not displayed, no errors in console.
        alert("Yay");
    }});
})

ajax端似乎工作正常,内容通过ajax加载到div中。我的ID取自按钮并从我的控制器加载正确的类别并放入我页面上正确的包含div但是我在$("." + id).html(result);之后添加的任何功能都不会触发,因此alert("Yay");不起作用。

我在日志中看不到任何错误,并且对于为什么会这样,并且想知道是否有其他人可以建议我可能做错了什么而感到困惑?

好的这个片段有效,但无论如何我把它放在这里:

$('.expandproducts').click(function(){
		id = $(this).attr("data-id");
		urlajax = "https://jsonplaceholder.typicode.com/posts/" + id;
		$.ajax({url: urlajax, success: function(result){
			result = "result: " + result;
      $(".container-" + id).html(result);
      //code seems to stop here! Cannot figure out why YAY is not displayed, no errors in console.
			alert("Yay");
		}});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Products load under here:</p><button data-id="1" class="expandproducts">EXPAND</button>
<div class="container-1">
</div>

为什么这在我的上下文中不起作用?

1 个答案:

答案 0 :(得分:1)

正如你所说

  

它似乎完美地工作,内容通过ajax

加载到div中

您没有正确地重新加载页面,Ctrl+F5的硬刷新页面,这可能是问题所在。

reloading issue除外,这里没有问题。

或者可能是您的ajax内容问题。