Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2018, 14:56
Новичок на форуме
Отправить личное сообщение для thc2000 Посмотреть профиль Найти все сообщения от thc2000
 
Регистрация: 13.07.2018
Сообщений: 3

AJAX Запрос - не могу добраться до значения переменной вне функции
Добрый день коллеги!

Никак не могу решить простую задачу. С javascript обращяюсь на страничку php и получаю параметр, внутри задачи $.get я вижу значение этой переменной, а как получить ее значение вне функции $.get?

function getNumberofManufactures() {
    $.get("init/getNumberofManufactures.php",{}, function(numofman) {
     
		console.log("numofman-"+numofman);
		//ВОТ ТУТ В КОНСОЛИ Я ВИЖУ ЧТО numofman равен 4, все в порядке!
    });
    //Как вот тут получить значение numofman????
}
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2018, 15:02
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 2,080

Второй вариант использовать не стоит.
function getNumberofManufactures() {
    new Promise(function(resolve) {
        $.get("init/getNumberofManufactures.php", {}, resolve);
    }).then(function(numofman) {
        consoe.log(numofman);
    });
};
//Или так

function getNumberofManufactures() {
    var globalValue;
    $.get("init/getNumberofManufactures.php", {}, function(res) {
        globalValue = res;
    });

    setTimeout(function() {
        consoe.log(globalValue);
    }, 1e4);
};
Ответить с цитированием
  #3 (permalink)  
Старый 13.07.2018, 15:19
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 3,919

Nexus,
А так?
$.get("init/getNumberofManufactures.php").then(function(numofman) {
    consoe.log(numofman);
});
Ответить с цитированием
  #4 (permalink)  
Старый 13.07.2018, 15:36
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 2,080

Rise, если версия jq равна 1.5 или старше, то можете и так.
Ответить с цитированием
  #5 (permalink)  
Старый 13.07.2018, 16:02
Новичок на форуме
Отправить личное сообщение для thc2000 Посмотреть профиль Найти все сообщения от thc2000
 
Регистрация: 13.07.2018
Сообщений: 3

Спасибо всем за ответы
Спасибо всем за ответы.
Допустим, я буду использовать первый вариант. Осталось чуть чуть для понимания:

function getNumberofManufactures() {
new Promise(function(resolve) {
$.get("init/getNumberofManufactures.php", {}, resolve);
}).then(function(numofman) {
consoe.log(numofman);
});
};

Promise и будет равен numofman?

Мне надо потом дальше в javascript работать со значением numofman которое получили из php
Ответить с цитированием
  #6 (permalink)  
Старый 13.07.2018, 16:09
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 2,080

thc2000, почитайте: https://learn.javascript.ru/promise
Ответить с цитированием
  #7 (permalink)  
Старый 13.07.2018, 16:23
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 3,919

thc2000,
никак не получить вне функции, для того эта функция и существует чтобы в ней работать с результатом, иначе бы какой был в ней смысл если бы значение возвращалось сразу...
Ответить с цитированием
  #8 (permalink)  
Старый 13.07.2018, 17:33
Новичок на форуме
Отправить личное сообщение для thc2000 Посмотреть профиль Найти все сообщения от thc2000
 
Регистрация: 13.07.2018
Сообщений: 3

Ок, я попробую по другому сформулировать вопрос.

Есть javascript. Он должен получить из базы mysql каким либо образом число, а дальше, если это число "1" то повести себя одним образом, а если не 1, то другим. Как это можно реализовать?
Ответить с цитированием
  #9 (permalink)  
Старый 13.07.2018, 17:47
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 3,919

$.get("init/getNumberofManufactures.php", function(numofman) {
    if (numofman == 1) {
        // вести себя одним образом
    } else {
        // другим
    }
});
Ответить с цитированием
  #10 (permalink)  
Старый 13.07.2018, 17:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 23,775

thc2000,
ваш первый пост, всё что вам нужно сделать, пишите в строке 3!!! забудьте, что существует строка 7!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу сделать ajax запрос jazzz13 AJAX и COMET 4 17.05.2012 15:31
Как получить значение переменной из callback функции? Хиросим AJAX и COMET 5 24.04.2012 08:32
изменение значения глобальной переменной внутри функции mgmarket Серверные языки и технологии 14 12.09.2011 23:56
Ajax запрос. Возврат массива. Rinas jQuery 5 09.04.2011 17:58
Получение значения переменной id DimDimos Events/DOM/Window 1 22.08.2010 15:37