Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> один запрос ajax, можно было сделать запрос только один ра 
:(
    Опции темы
Master_
Дата 1.8.2007, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



Вобщем есть у меня страничка на аякс. При нажатии на страну с помощью аякса появляются города этой страны. Так вот, можно нажимать на ссылку сколь угодно раз, и все время появляются одни и те же города, а мне нуэно ограничить запрос до одного, нажал на страну - открылся список, остальные5 нажатия на ссылку блокируются.
Как ограничить JS запрос на один раз?
PM   Вверх
Astraller
Дата 2.8.2007, 12:25 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: 2
Всего: 5



Сделайте себе глобальную переменную - флаг. Например:
Код

var flag=0;
...
function sendRequest (){
if (flag==0){
flag=1;
...
}
}



--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
lexxICON
Дата 2.8.2007, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 27.1.2007

Репутация: 2
Всего: 2



Или косвенно проверять - наличие текста в поле городов или тп

PM   Вверх
Master_
Дата 3.8.2007, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



К сожалению с флагом думаю не получится..
Потому что если делать так как написано во втором посте, можно будет открыть города только одной страны. Тоесть у меня в функцию передается id страны, по которому должны открываться города. 
Так вот, открыть любую страну - и флаг будет равным одному, тоесть у всех остальных стран города открыть не получится.

Как бы решить это?
PM   Вверх
Mymik
Дата 3.8.2007, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 11
Всего: 78



Master_, флаг не обязательно должен быть нулем или единицей... это может быть код этой страны или города...


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Master_
Дата 3.8.2007, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



А что хорошего если то код страны?

Ведь можно будет выбрать другую страну, соответственно id флага сменится, и предыдущий открытый id можно будет открыть вновь..
PM   Вверх
Master_
Дата 3.8.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



Написал в коде это
Код

        $flag = array();
        $flag[] = $id;
        if ( in_array($flag, $id) )
        {
            exit();
        }

Но это неправильно...
Это в ф-ии, вызываемой яваскриптом.
PM   Вверх
Mymik
Дата 4.8.2007, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 11
Всего: 78



Цитата(Master_ @  3.8.2007,  09:43 Найти цитируемый пост)
Потому что если делать так как написано во втором посте, можно будет открыть города только одной страны. Тоесть у меня в функцию передается id страны, по которому должны открываться города. 

Вроде бы это твои слова. Следовательно, если ты запомнишь код передаваемой страны в этот флаг и будешь проверять, то ты избежишь повторных загрузок.
Т.е. приходит код страны 111 ты проверил что находится во флаге, если такое же число, то делаешь return; иначе записываешь новый код страницы и отправляешь AJAX запрос для загрузки городов.
Или у тебя коллизии в СУБД ??? список городов для разных стран идут под одним номером ???

Цитата(Master_ @  3.8.2007,  10:37 Найти цитируемый пост)
Ведь можно будет выбрать другую страну, соответственно id флага сменится, и предыдущий открытый id можно будет открыть вновь.. 
Это уже совсем другой вопрос и ты не оговаривал его в первом посте.
Тогда забей на флаг вообще, он тебе не понадобиться,- тебе нужен будет какой-нибудь массив типа JSON (если ты принимаешь данные в этом виде, так вообще сказка). Дальше ты просто пробегаешься по этому массиву и выцепляешь данные нужные тебе. Но, ИМХО лишний геморой... 



--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Master_
Дата 4.8.2007, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 31.1.2007

Репутация: нет
Всего: нет



Проверку есть ли код во флаге - я пробовал написать код, но не получалось, может приведешь пример?  smile 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0816 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.