Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.01.2014, 14:09
Аватар для Duda.Ml1986@gmail.com
Профессор
Отправить личное сообщение для Duda.Ml1986@gmail.com Посмотреть профиль Найти все сообщения от Duda.Ml1986@gmail.com
 
Регистрация: 01.09.2011
Сообщений: 263

Как получить переменную после пост.
.post выполняет запрос. Данные и все остальное корректно но почему пост возвращает XmlHTTPRequest а не то что я в нем сделал. Все попытки привести к тому что надо (responseText, переопределение done) ничерта немогу понять.
Как мне получить строку из Reloader.getManufacturersByCompanyId(this.companyI d) такую как в теле .post

A.JS

$('select[name="companyes"]').change(function() {
        
       this.answer = Reloader.getManufacturersByCompanyId(5);
       console.log(this.answer);

CONSOLE: {
Object {readyState: 1, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…}
}

    });



B.JS
var Reloader = {
    
    getManufacturersByCompanyId: function(companyId) {
        this.action = "getManufacturers";

        manufacturers = $.post( "ajax.php", { a: this.action , id: companyId })
            .done(function( data ) {
                manufacturers = jQuery.parseJSON(data);
                 
                console.log(manufacturers);
CONSOLE
{
<option value=25 selected>"Европа Плюс"</option>
<option value=26 selected>Фаворит</option> 
}
                return manufacturers;
            });

       pret = manufacturers.done(function() { });
CONSOLE pret
{
Object {readyState: 1, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…}
 
}
        return pret;
    },
Ответить с цитированием
  #2 (permalink)  
Старый 03.01.2014, 15:32
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Duda.Ml1986@gmail.com
почему пост возвращает XmlHTTPRequest а не то что я в нем сделал
Потому что асинхронность!
Сообщение от Duda.Ml1986@gmail.com
return manufacturers;
Ну и куда ты возвращаешь manufacturers? В функцию (определенную в недрах jQuery), вызвавшую callback-функцию, переданную агрументом в .done() ? И почему ты думаешь что та функция, написанная разрабами jQuery, ждет твои manufacturers?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 04.01.2014, 01:22
Аватар для Duda.Ml1986@gmail.com
Профессор
Отправить личное сообщение для Duda.Ml1986@gmail.com Посмотреть профиль Найти все сообщения от Duda.Ml1986@gmail.com
 
Регистрация: 01.09.2011
Сообщений: 263

как получить извне Reloader то что пришло от пост в виде не обьекта а строки которая указана выше.
Ответить с цитированием
  #4 (permalink)  
Старый 04.01.2014, 02:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Через callback-функцию.
Передай функцию, которая будет обрабатывать результат, вторым аргументом при вызове getManufacturersByCompanyId.
А в .done() вызывай эту функцию, передавая результат
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести переменную из javascript в html код? red-nicolas Элементы интерфейса 3 25.02.2012 11:27
Получить переменную от flash odlf3 Общие вопросы Javascript 1 30.11.2011 10:09
Как сделать локальную переменную глобальной?? Дмитрий Общие вопросы Javascript 8 02.11.2010 02:33
Как передать переменную с текстом по событию FRIE jQuery 8 20.04.2010 12:03
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 11:58