Есть ли способ извлечь элементы из одного списка и вставить их на разные страницы? - PullRequest
1 голос
/ 19 сентября 2019

Я вытаскиваю предметы из списка, совершая вызов ajax.Я строю HTML и вставляю эти элементы на страницу;Я хотел бы захватить одни и те же элементы и вставить их на другую страницу, оформленную в другом стиле.Есть ли способ связать 2 вызова ajax, чтобы захватить одни и те же предметы?

$.ajax({
    url: "/cyberSecurity/_api/web/lists/GetByTitle('phishingExamples')/items",
    method: 'GET',
    headers: {
        'Accept': 'application/json; odata=verbose'
    },
    success: function(data) {

        var items = data.d.results;
        console.log(items);
        var phishing = $('#phishing');
        var phishingCards;
        //Max of cards on page
       var start = Math.max(0, items.length-4);
        console.log(start);
        for (let i = start; i < items.length; i++) {
            phishingCards = '<div class="col-sm-6 col-md-6 col-lg-3 mb-3">' +
               '<div style="background-color: #004685; height: 340px; position: relative;" class="card backImg2 ">' +
                '<div style="color: #fff;" class="card-body ">' + 
                '<h5 style="color: #ffe01a;" class="card-title ">' + items[i].Title + '</h5>' +
                '<p style="margin-bottom: -5px;" class="card-text ">' + items[i].Description + '</p>' +
                '<div style="width: 100%;  margin: 0 auto; position: absolute; bottom: 0;right: 0" class="row "><a style=" background-color: #ffe01a!important;  color: black!important; border: none; width: 100%;" href= "'+ items[i].Image.Url +'"class="btn btn-primary btn-sm"  target=_blank>More Info</a></div>' +
                '</div>' +
                '</div>' +
                '</div>';                

            phishing.prepend(phishingCards);
        }
    },
    error: function(data) {
        console.log('Error: ' + data);
    }
});
// End Service Icons  //End Service Icons

Это код, который у меня есть до сих пор

1 Ответ

1 голос
/ 19 сентября 2019

Вы можете разделить код на разные части.И сосредоточиться на другой задаче.

var build_phishingCards = function(items){
    var phishing = $('#phishing');
    var phishingCards = ;
    ...
    phishing.prepend(phishingCards);
}


var url1 = "/cyberSecurity/_api/web/lists/GetByTitle('phishingExamples')/items";
var handle_ajax = fucntion(url){
    $.ajax({
        url: url,
        method: 'GET',
        headers: {
            'Accept': 'application/json; odata=verbose'
        },
        success: function(data) {
            var items = data.d.results;
            // only check out the data here. like, Array.isArray(items)
            // call different function to do 
            if(data.layout == 'another'){
               build_phishingCards(items);
            }else{
               build_AnOtherCards(items); // same list param
            }
        },
        error: function(data) {
            console.log('Error: ' + data);
        }
    });
}

handle_ajax(url1);

Редактировать:

var build_AnOtherCards = function(items){
    var phishing = $('#phishing');
    // handle other page layout
    var AnOtherCards = '<div ...>';
    ...
    phishing.prepend(AnOtherCards);
}
...