Почему Jquery получает доступ к частичному URL до того, как пробовать полный URL? - PullRequest
0 голосов
/ 31 октября 2019

Исправление

Я добавляю шаблон HTML в свой документ с помощью jQuery. Когда я устанавливаю переменную nextListing в шаблон, он обращается к частичному URL. Это приводит к небольшой задержке (~ 60 мс), которую я хочу устранить.

URL www.example.com/Homes-for-sale/by-price-range/100000/150000 перенаправляет на www.example.com/example.php?pricehigh=150000&pricelow=100000

"var nextListing = $ (template); " сначала просматривает /100000, а затем продолжает работу после ошибки 404.

image Network"> DevTool -> Сеть расширена DevTool -> Источники, показывающие связанный код

    <template id='listing'>
        <div class="col-xl-4 col-lg-6 col-md-6 col-12 pb-2">
            <div class="card text-black bg-white border-dark">
                <h5 class='card-header' holds='address'>123 some address</h5>

                <div class='card-body p-1'>
                    <a href="#" holds='link'>
                        <img class='card-img' holds='image' style="width: 100%;" src="." srcset="." alt="" />   
                    </a>
                    <div>
                        <div class="container-fluid pl-0 pr-0 pb-1">
                            <h4> <span class="pl-0 ml-0" holds='price'> </span>
                                <small>
                                        <span class='font-weight-bold pl-3 tp-70'>Beds:</span>
                                        <span class='tp-70' holds='beds'></span>
                                        <span class='font-weight-bold pl-3 tp-70'>Baths:</span>
                                        <span class='tp-70' holds='baths'></span>   
                                </small>    
                            </h4>

                        </div>
                    </div>
                </div>
                <div class='card-footer'>
                    <div class="row">
                        <div holds='agent' class="tp-80"></div>
                    </div>
                    <div class="row">
                        <div class="font-italic tp-80" holds='agency'></div>
                    </div>  
                </div>
            </div>
        </div>
    </template>```

[a lot more HTML code here]
:
:
    listings=$.ajax({
        url:      'https://www.example.com/ajax/search.php',
        data:     {param: sP},
        datatype: "JSON",
        cache:    true,
        method:   'POST'
    })  

    listings.done(function(json){
        d   = JSON.parse(json);

        //get html from template. Done to be compatable with IE
        var O_template=$("#listing")[0];
        var template=$(O_template).html();  
        var results=d.data;

        $.each(results, function(i,v){
            var url='';
            var src='/Images/' + v.mls + '/sm_' + v.mls + '.jpg';
            var srcset='/Images/' + v.mls + '/' + v.mls + '_T10.jpg 75w, /Images/' + v.mls + '/sm_' + v.mls + '.jpg 210w, /Images/' + v.mls + '/' + v.mls + 'sm.jpg 360w, /Images/' + v.mls + '/' + v.mls + '.jpg 720w';
            // Get template and fill
            var nextListing=$(template);
            var l=$('#Listings').append(nextListing);
            var p=parseInt(v.price);
:
:
:

Я хотел бы исключить первый вызов /100000.


добавление:

Для устранения неполадок я установил шаблон настрока

var template = "<div>this is a test</div>" 

, которая удалила вызов / 100000. Это не исправление, просто дополнительная информация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...