@akula22

Как получить доступ к переменной внутри функции в jquery?

Делаю расчеты и в одном условие мне надо сделать запрос в базу
$.post(
                    "/calc/sticker/get-options", {},
                    function (options) {
                         $options = JSON.parse(options);
                    });
            }

переменная $options видна только внутри function
как мне получить доступ к ней дальше в расчетах?
про видимости переменных читал, пробовал var не помогает, подскажите как получить доступ, или как организовать функцию с возвращением результата
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 3
@dasauser
Пишу на PHP
один из вариантов - сделать эту переменную глобальной.
ну и замыкание, по сути, на то и замыкание, чтобы отработать и забыться.
хотя могу ошибаться.
Ответ написан
Комментировать
@GssGenic
Программист со стажем более 20 лет.
options = $.post( "/calc/sticker/get-options", {});
$options = JSON.parse(options);

Может так?
Ответ написан
rudev
@rudev
Developer
var $options; // глобальная переменная

$.post( "/calc/sticker/get-options", {},  function (options) {
    $options = JSON.parse(options);
});

console.log($options); // вывод в консоль результатов


p.s. Если необходимо использовать эти результаты везде, то необходимо объявить на самом верхнем уровне
var $options; Но всегда стоит помнить что можно затереть случайно данные.

Можно объявить глобально контейнер, где будут храниться все данные. Например:
var container = {
    options:{},
    pictures:[],
    selected:"element_name",
    // другие данные
};


В любом месте JS кода делаете присвоение таким образом:
container.options = JSON.parse(options); // присвоение

//получение данных 
var $options = container.options;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы