ajax调用后外部js脚本不起作用

时间:2020-07-11 20:46:45

标签: javascript c# ajax asp.net-mvc partial-views

在索引页面中,我将一些带有按钮的框加载到特定部分。 按钮示例

<span data-glf-cuid="5cc06166-70f2-48d0-8dc2-f5961d14f50f" data-glf-ruid="d68ed79c-bf90-463c-acdc-dd4cea8c8964" > Order Now</span>

使用我在布局页面中使用的外部脚本,它在跨度中添加了一个ID

 <script src="https://www.fbgcdn.com/embedder/js/ewm2.js" defer async></script>

页面加载后的按钮示例

<span data-glf-cuid="5cc06166-70f2-48d0-8dc2-f5961d14f50f" data-glf-ruid="d68ed79c-bf90-463c-acdc-dd4cea8c8964" id="glfButton3"> Order Now</span>

现在的问题是当我使用一些过滤器时。例如,用户选择一个过滤器,然后我收集所有过滤器并进行ajax调用,以返回结果并使用局部视图仅加载该部分。 Ajax调用示例

    function callToSearch(postcode) {       
        document.getElementById("test").style.display = "";
        var slides = document.getElementsByClassName("buttonCategory");
        var dataVal = "";
        for (var i = 0; i < slides.length; i++) {
            if (slides.item(i).className == "buttonCategory activebtn") {
                dataVal = slides.item(i).value;
            }
        }
        var sideBarVisibility = document.getElementById("scrollableSidebar").style.display;
        var maxwidth = $(window).width();
        if (maxwidth >= 600) {
            document.getElementById("scrollableSidebar").style.display = "";
            document.getElementById("sectionCategories").style.display = "NONE";
        }
        var offerButton = document.getElementById("sidebarOfferBtn").classList.value;
        var isofferparam = "False";
        if (offerButton == "activebtn") {
            isofferparam = "True";
        }
        $.ajax({
            url: "@Url.Action("Index", "Home")",
            data: { data: dataVal, postParam: postcode, isOfferparam: isofferparam},//'data=' + dataVal + 'postParam=' + postcode,
            type: "POST",
            success: function (data, status, xhr) {
                $('#tblSeeMore').html(data);
                var asf = xhr.getResponseHeader("nextItems");
                document.getElementById("nextItems").value = asf;
                $('html, body').animate({
                    scrollTop: $("#stopscroll").offset().top - 105 // the 105 is the sticky header
                }, 1000);
                  var showSeeMore = xhr.getResponseHeader("showSeeMore")
                if (showSeeMore == 'show') {
                    document.getElementById("seeMoreBtnsubmit").disabled = false;
                }
                else {
                    document.getElementById("seeMoreBtnsubmit").disabled = true;
                }
               
            },
                error: function (xhr, status, error) {
                    var err = eval("(" + xhr.responseText + ")");
                    alert(err.Message);
                }
        });
}

此呼叫后,按钮未获得ID。就像外部脚本对它们不起作用。 我不知道问题是什么。 我再次尝试了其他加载特定脚本的尝试,但没有成功。

有什么想法可以实施吗?

0 个答案:

没有答案