Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.02.2016, 15:40
Новичок на форуме
Отправить личное сообщение для victor zotov Посмотреть профиль Найти все сообщения от victor zotov
 
Регистрация: 22.11.2015
Сообщений: 6

не могу сделать "wait, loading..."
Приветствую.

Надо сделать чтоб что-то выводилось на экран на время выполнения ajax-запроса. Знаю, что тема избита, много читал, пробовал. Не работает, зараза! Помогите, пожалуйста.

Код:
$.ajax({
url: 'php.php',
type: 'POST',
dataType: 'text',
async: false,
data: {
...
},
beforeSend: function() {
$('#wait_container').show();
},
complete: function() {
$('#wait_container').hide();
},
success: function(s) {
...
},
error: function() {
...
}
});

Код работает так, будто beforeSend вообще нет.
Вместо beforeSend выносил .show() до $.ajax() - та же фигня, нет сообщения. Если же после .show() вставить alert() - всё отображается. Я так понимаю, что тут что-то с обновлением экрана? Помогите, пожалуйста советом.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 03.02.2016, 16:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от victor zotov
async: false,
браузер ничего не будет делать с таким параметром пока не придёт ответ
Ответить с цитированием
  #3 (permalink)  
Старый 03.02.2016, 17:11
Новичок на форуме
Отправить личное сообщение для victor zotov Посмотреть профиль Найти все сообщения от victor zotov
 
Регистрация: 22.11.2015
Сообщений: 6

даже beforeSend?
сообщение не выводится на экран, даже когда .show() стоит до $.ajax().
даже когда async: true, я проверял.
да, речь идёт об Опере последней версии.
Ответить с цитированием
  #4 (permalink)  
Старый 04.02.2016, 10:39
Новичок на форуме
Отправить личное сообщение для victor zotov Посмотреть профиль Найти все сообщения от victor zotov
 
Регистрация: 22.11.2015
Сообщений: 6

ау! в Опере этот глюк кто-то победил?
поделитесь, пожалуйста.
Спасибо, вы добрые люди.
Ответить с цитированием
  #5 (permalink)  
Старый 04.02.2016, 11:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от victor zotov
в Опере этот глюк кто-то победил?
Зачем, работает везде:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script> 
$(function() {
    $.ajax({
        type : 'POST',
        url : 'http://main/',
        data : {a : 1},
        beforeSend : function() {
            $('#load').show()
        },
        error : function() {
            $('#load').hide()
        } 
    })
});
</script>     
</head> 
<body>
<div id="load" style="display:none">Load...</div>
</body> 
</html>


а у вас просто где-то есть ваш баг.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу выучить javascript. usertest Оффтопик 17 20.03.2016 08:33
Можно ли так сделать kolhoz jQuery 2 31.08.2015 15:20
Как сделать такую страницу mortido Элементы интерфейса 11 02.10.2014 07:20
Не могу сделать таймер shaman1197 Элементы интерфейса 1 01.12.2013 11:11
Не могу сделать редирект в JS alpar_andr Общие вопросы Javascript 11 25.09.2008 22:31