如何在 Ajax() 响应中执行 JavaScript 函数

How to execute JavaScript function in an Ajax() Response

我有一个主页可以加载 ajax() 响应并将其 post 作为 LI 内容加载到 UL,在同一页面上我有脚本函数可以 select LI 满足另一个功能的触发器,但不工作。

第 1 页

HTML

<ul id="feature-deals" class="list-products allShopping-deals">         
</ul>

脚本

$(document).ready(function(){
    $.ajax({
        url: "Product/Shopping-Trending-Items.php", 
        success: function(result){
            $(".allShopping-deals").html(result);
        }
    });

$(".products").click(function (){   
        alert ($('.pid', this).text());

第 2 页

HTML

  <li class="products">
<span class="pid">1234</span>
</li>

page 1 == home page w/(ajax() load function + click function) ----> page 2 == li content holding pid and waiting to load by ajax () ----> 目标输出是提醒 pid 值但脚本在第 1 页

你应该delegate事件:

$(".allShopping-deals").on('click', '.products', function(){
    alert($(this).find('.pid').text());
});

您遇到了时间问题。 ajax 调用已执行,但分配点击事件的语句不会等待结果并执行。 ajax 调用是异步的。

将点击事件的分配放在 ajax 调用的成功处理程序中。

success: function(result){
            $(".allShopping-deals").html(result);
            $(".products").click(function (){   
                alert($(this).find('.pid').text());
            }
        }