Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98

Ajax внутри function не делает return

21.11.2012, 11:22. Показов 1669. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять что за конитель...

ajax внутри function не делает return

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
function GetDomainInfo(d,t){
    var domain = d;
    var type = t;
    var result = '';
    
    switch (type) {
        case 'whois': 
            var url = '/ajax/whois/?domain=' + domain + '&json';
            break;
        case 'check': 
            var url = '/ajax/checkdomain/?domain=' + domain + '&json';
            break;
    }
    
    $.ajax({
        url: url,
        type: 'POST',
        success: function(resp) {
            if(type == 'check'){
                if(resp.result.data.errors){
                    result = resp.result.errors;
                        return result;
                } else {
                    status = resp.result.data.status.check_result;
                    if( status == 0 || status == 2) { 
                        result = true;
                    } else {
                        result = false; 
                    }
                }
            } else if(type == 'whois'){
                result = resp.result.data.whois.whois_result;
            }
            console.log('return result ( ' + result +' )'); // ОНО в консоль выводит всё как надо...
            return result;
        },
        error: function(){
            result = resp.result.errors;
                return result;
        }
    });
    
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2012, 11:22
Ответы с готовыми решениями:

jQuery.ajax и return
Привет. Есть функция, в которой вызывается jQuery.ajax(). Он ссылается на test.php, который функцией echo возвращает либо 0 либо 1. Дальше...

Не возвращается return из ajax запроса
Есть функция: function getParams(){ var BackendParams; $.ajax({ type: "POST", url: "router.php", ...

AJAX запрос к файлу, который сам делает AJAX запрос
Прошу прощение за название темы, но я не знаю как это коротко описать... Здравствуйте. На странице HTML я обращаюсь к файлу PHP: ...

4
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
21.11.2012, 11:50
А куда, по Вашему он должен вернуть что-то?
Мне кажется это не правильный подход. В Аяксе возвращать..
0
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
21.11.2012, 11:51  [ТС]
В общем понял то что это тёмный лес...
Пришлось использовать такой метод:
Вставил в функцию вывод результата таким образом:
JavaScript
1
$('body').append('<div id="domain_status" name="' + result + '" style="display:none;"></div>');
и в нужном месте:
JavaScript
1
2
3
GetDomainInfo('domainName.Ru','check');
var result = $('#domain_status').attr('name');
$('#domain_status').remove();
0
23 / 23 / 4
Регистрация: 24.11.2012
Сообщений: 97
24.11.2012, 16:32
Но это же Ajax запрос (первая буква A - асинхронный =) ). Функция success будет выполнена, когда придет запрос от сервера. А когда вы вызываете GetDomainInfo она, собственно, ничего не возвращает. Вам нужно использовать jQuery.Deferred.

В начале GetDomainInfo:
JavaScript
1
var dfd = new jQuery.Deferred()
В конце success функции вместо return:
JavaScript
1
dfd.resolve(result)
В конце GetDomainInfo:
JavaScript
1
return dfd.promise()
В том месте, где используется GetDomainInfo:
JavaScript
1
2
3
4
5
$.when( GetDomainInfo() ).then(
    function(result) {
        // Ваш код, обрабатывающий result
    }
);
0
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
26.11.2012, 09:07  [ТС]
aarkhipov , спасибо огромное... Буду пробовать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.11.2012, 09:07
Помогаю со студенческими работами здесь

Как в $.ajax на jquery сделать return?
Добрый день, Такая проблема, Не срабатывает return из блока success в $.ajax $('.link').click(function(e) { ...

Return ajax результат в виде переменной
Здравствуйте, есть код: // если так function get_cart() { $.post( &quot;confirm_order/get_cart.php&quot;, function( data ) { ...

DOM jQuery + AJAX. Ошибка возвращения (return)
function login(){ $(document).ready(function(){ // при нажатии $('#send').click(function(){ var...

How can to return value (return value; ) of javascript function to ASP ?
How can to return value (return value; ) of javascript function to ASP ?

Функция. Что делает return?
У меня есть функция и в ней несколько раз return условие1 return=0 условие2 return=1 Вопрос: return работает как выход из функции? То...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru