jQuery, jQuery Slim и Ajax "бъгване"

Ticketa

Registered
Привет използвам следното content loading, чрез ajax:

Код:
$(document).ready(function(){
    var limit = 10;
    var start = 0;
    var action = 'inactive';
    function load_country_data(limit, start) {
        $.ajax({
            url:"index.php?page=loading_more",
            method:"GET",
            data:{limit:limit, start:start},
            cache:false,
            enctype: 'multipart/form-data',
            success:function(data) {
                $('#load_data').append(data);
                if(data == '') {
                    $('#load_data_message').html("No Data Found");
                    action = 'active';
                } else {
                    $('#load_data_message').html("Please Wait...");
                    action = "inactive";
                }
               
                /* Place Holders Loading */
                const placeholders = document.querySelectorAll(".placeholder");
                   
                window.setTimeout(removePlaceholder, 3500);
                function removePlaceholder() {
                    placeholders.forEach((element) => {
                        element.classList.remove("placeholder");
                    });
                }
            }
        });
    }
    if(action == 'inactive') {
        action = 'active';
        load_country_data(limit, start);
    }
    $(window).scroll(function(){
        if($(window).scrollTop() + $(window).height() > $("#load_data").height() && action == 'inactive') {
            action = 'active';
            start = start + limit;
            setTimeout(function(){
                load_country_data(limit, start);
            }, 1000);
        }
    });
   
});


Работи безупречно когато използвам jQuery Full.
https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js

Проблема ми е, че когато използвам jQuery Full всички останали опции (буквално всички) в сайта ми бъгват т.е. трябва да ги натискаш по два/три пъти, че да "захапят"/заработят или въобще незаработват (основно dropdown менютата).

Кога нямам проблеми с всичките ми dropdown-ве и някакви дребни кодове? Когато използвам slim вариант.

Разликата е, че slim варианта не поддържа ajax, който използвам в горния ми код и основния ми въпрос е - Как трябва да ми изглежда горния код, че да си зареждам content-a (страницирането) без да се влияе дали използвам slim jQuery? И всичко останало в сайта да си бачка

BTW:
Ползвам Bootstrap 4.5.0

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css">
 
Последно редактирано:
Като ти бъгва какво излиза в конзолата? Дали не хваща някакъв глас, който е представен на много места, или просто има конфликт на функции, гледам в кода се използват доста променливи, които са често използвани. Ти искаш експанване на контента? Демек Load More... за още статии на същата страница асинхронно?
 
Демек Load More... за още статии на същата страница асинхронно?
Да

Като ти бъгва какво излиза в конзолата?

Когато използвам jquery.slim:
Код:
Uncaught TypeError: $.ajax is not a function
    load_country_data https://localhost.com/:759
    <anonymous> https://localhost.com/:789
    jQuery 13
        e
        t
        setTimeout handler*Deferred/then/l/<
        c
        fireWith
        fire
        c
        fireWith
        ready
        F
        EventListener.handleEvent*
        <anonymous>
        <anonymous>

Код:
Ред: 759:         $.ajax({
Ред: 789: load_country_data(limit, start);

А когато заредя jquery full-а нямам грешки в конзолата, но видно при натискането на dropdown менютата спират да работят или проработват след 3/4 натискане.

jQuery 3.6.0 => slim/full
Bootstrap JS v4.6.0
 
Сигурен ли си, че и на двете jquery-та ти е една и съща версията? Да не би пълната версия дето зареждаш да е друга версия и затова да спират да ти рабоят dropdown менютата?
 
Сигурен ли си, че и на двете jquery-та ти е една и съща версията? Да не би пълната версия дето зареждаш да е друга версия и затова да спират да ти рабоят dropdown менютата?
Да това беше първото, което проверих:

slim:

/*! jQuery v3.6.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector | (c) OpenJS Foundation and other contributors | jquery.org/license */

full:
/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
 
Поприцип в нета пише, че ajax е премахнат от slim версията. И за тва тая грешка.. По-добре пробвай да си подкараш всички неща с пълната версия. Дава ли ти някаква грешка на дропдауните с пълната версия в конзолата?

Кода който ти е за дропдауните сложил ли си го в document ready?
 
Намерих кое прецакваше цялата работа:
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.3/js/bootstrap.bundle.min.js"></script>-->

Bootstrap bundle. Махнах го и няма проблеми. Благодаря за насоките.

В такъв случай ако това ти трябва за нещо друго можеш да разгледаш за jQuery.noConflict()

 

Back
Горе