как сделать ajax-запрос при запуске приложения и использовать результат позже?(ДС) - PullRequest
0 голосов
/ 28 ноября 2018

Хорошо, у меня есть это приложение js узла, которое использует инфраструктуру магистральной рекламы MVC, при запуске он запускает appView.js, поэтому он выбирает некоторую информацию, необходимую для моего приложения.

У меня есть эта проблема, где мне нужносделать запрос к серверу на получение какой-либо информации, которая меняется каждый раз, когда конечный пользователь вносит изменения в панель drupal.

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

Мне нужно сделать запрос на appView.js.сохраните результаты и сохраните их до тех пор, пока пользователь не перейдет на страницу рекламных акций, для которой требуются данные JSON, а затем я смогу создать страницу.

некоторая часть моего promotionsView.js

render: function() {
        var self = this;
        EventsManager.trigger("showLoading");
        $.when(self.translatePromotions()).done(function(data){
            self.promotions = data.promotions;
            var promotions = self.promotions;
            if(self.promotions == undefined)
                var promotions = {};
            if (promotions.length > 0) {
                var data = {
                    promos: promotions,
                    error: false,
                    max_item: 3
                };
                self.$el.html(self.template(data));
                if (data.promos.length <= data.max_item) {
                    self.initRoyalSlider(RoyalSliderOptions.arrow);
                } else {
                    self.initRoyalSlider(RoyalSliderOptions.bulletsArrow);
                }
            } else {
                self.template = _.template(NotAvailableTemplate);
                self.$el.html(self.template());
                self.$el
                    .find(".promos-events-title")
                    .addClass("promos-title")
                    .attr("data-translate-id", "promotions-title");
            }
            self.bindImageError();
            EventsManager.trigger("hideLoading");
        });

    },

translatePromotions: function() {
        return $.ajax({
            type: "get",
            url: MainConf.BASE_DOMAIN_NAME + MainConf.BASE_PROXY + MainConf.BASE_URL + "/" + this.currentLang.toLowerCase() + "/rest/promotions.json",

        });
    }

Итак,Опять же, мне нужно иметь возможность сделать мой запрос в моем файле appView.js и использовать результат на моей странице рекламных акций безожидая выполнения запроса.

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