Получить значение ответа вне функции обратного вызова - PullRequest
0 голосов
/ 13 июня 2019

Я получаю значение nextPage при первой загрузке AJAX, но я хочу сохранить это значение, чтобы позже использовать его для запроса данных. И я сделал функцию обратного вызова, чтобы я мог получить значение nextPage вне ajax.

Итак, я использовал .done () и сделал функцию обратного вызова, которая возвращает значение вне ajax. Но теперь я хочу установить значение nextPage вне моей функции обратного вызова.

var nextToken = "";
        function functionCallBack(response) {
            if (response.status.status == true && response.body.nextPageToken !== 'undefined') {
                nextToken = response.body.nextPageToken;
                console.log(nextToken)
            }
        }
        $('#prev').hide();
        var offset = 0;
        function call_ajax(){
         return $.ajax({
                url: '/process/videoPodcast.php',
                type: 'POST',
                data: {
                offset: offset  
            },
         });
        }
        $.when(call_ajax()).done(function(response){
        if (typeof(response) != 'object') {
              response = $.parseJSON(response);
            }
        if(response.body.nextPageToken !== 'undefined'){
            nextToken = response.body.nextPageToken;
        } else {
            nextToken = 0
        }
        if (response.status.status == true) {
              var html_option = "<div class='top-with-controls-archive text-center'></div><div class='carousel-inner'><div class='carousel-item active'><div class='row py-2'>"
              $.each(response.body.items, function(key, value) {
                var dateTruncated = value.id;
                var myStr = value.snippet.title;
                var strArray = myStr.replace(/\s/gi, "-");
                html_option += "<div class='col-md-3 col-sm-6'><div class='body-archive'><a href='/podcasts/" + dateTruncated + "/"+strArray+"'><img src='" + value.snippet.thumbnails.medium.url + "' class='img-fluid'></a><h5 class='text-center'>" + myStr + "</h5></div></div>";
              });
              html_option += "</div>";
              $('#wrap').html(html_option);
            }
            functionCallBack(response);// when I do console.log(nextToken) here 
        });// when I do console.log(nextToken) here it does not return a value

Возможно ли получить значение вне моей функции обратного вызова?

...