Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » AJAX - динамическая подгрузка данных без перезагрузки страниц

Ответить
Настройки темы
AJAX - динамическая подгрузка данных без перезагрузки страниц

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120


Конфигурация

Профиль | Отправить PM | Цитировать


Я никогда не обращал своё внимание на данную тему, так как динамическая подгрузка была очень сильно от браузера зависима, и чтобы пользоваться этой возможностью, надо было всегда все особенности популярных браузеров учитывать. Но сегодня нашёл статью, авторы которой утверждают, что их способ работает во всех браузерах (читай: кроссбраузерный).
Вот статья: http://dklab.ru/chicken/nablas/41.html

Что вы думаете об этом??
Кто нибудь что то подобное делал или использовал?

Отправлено: 13:48, 16-03-2005

 

Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


vadimiron
я как то писал сайт который весь был на JS и весь генерился автоматически на стороне клиента...

vadimiron
может ты приведешь конкретную задачу а я подумаю над оптимальной ее организацией?

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 14:04, 16-03-2005 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Vlad Drakula
ты немного не понял - речь идет о динамической подгрузке контента с сервера без перезагрузки страниц, причем уже дано достаточно оптимальное кроссброузерное решение с очень подробными разъяснениями.

vadimiron
я читала эту статью. Мне очень нравится. Единственное - надо при программировании обращать внимание на безопасность. (Хотя в целом - решение достаточно безопасное, если делать все в пределах одного сайта и следить за собой ) Там еще (на сайте автора) - обсуждение. Тоже стоит посмотреть.

Отправлено: 15:48, 16-03-2005 | #3


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Да, интересная штука, в особенности псевдокроссбраузерность . Почему псевдо? В O7.54 она не работает. Об этой феньке еще написано тут, но исключительно для IE, M и FF. Лично я реализовывал такую штуку в админке для фирмы одной рязанской, это было очень удобно как пользователю, так и мне - было требование использовать для дел админских только IE не младше 5.5. Вышеприведенной статьей я и руководствовался... думаю, если разобраться с материалом по ссылке топикфаундера, можно довести дело до ума везде, было бы время .

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 13:28, 17-03-2005 | #4


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


новая версия сегодня в 15:00 вышла..

а методом post никак нельзя обмениваться без перегрузки?
4кб както не внушающе..

и еще помоему, чтото похожее в чатах августа используется.

-------
Основы HTML | Конференции


Отправлено: 21:34, 17-03-2005 | #5


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


mar
кстати по поводу безопасности вот отрыл:
http://www.uinc.ru/articles/40/

что думаете господа?
мне вот не понятно что делает параметр false и true?
true я заметил используется при get запросах
а false как видно при методах trace и post.

кстати говоря мне удалось спомощью этого активного объекта произвести пост запрос, все дело в заголовках.

кому интересна тема, мнения плыз.

-------
Основы HTML | Конференции


Отправлено: 00:34, 24-03-2005 | #6

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


E-mail
Цитата:
кстати по поводу безопасности вот отрыл:
http://www.uinc.ru/articles/40/
куки тут немного не при чем

Отправлено: 00:43, 24-03-2005 | #7


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


mar
ты доконца дочитай

-------
Основы HTML | Конференции


Отправлено: 00:49, 24-03-2005 | #8


Аватара для iMP viSiOn

Пользователь


Сообщения: 84
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Есть опыт по созданию данной фишки под ASP. Вообщем суть, встала проблема, при выборе месяца и года ,автоматом в третьем ниспадающем меню выдавалось кол-во дней в выбраном месяце, конкретного года.

Для этого был написан JS файл, с функциями по перехват и отправке данных на сервер, файл соотв. где были формы и файл по обработке отосланых данных. Т.е. выбирают месяц и год, данные о выбранном сразу идут на файл с обработкой событий и третья форма после обработки получает кол-во дней. Все без перезагрезки страницы.

1. Скрипт файл, который можно имопртировать в файл с меню.
Код: Выделить весь код
	// Общий URL до файла (файл должен быть на сервере, где расположена сама страница) с обработкой событий
	var url = "functions/aspvalidate.asp?month=";
	var url2 = "&year=";

	// Присваеваем результат запроса объекту
	function handleHttpResponse()
	{
		if (http.readyState == 4)
		{
			// Присвоение результата после обработки конкретному объекту, в виде вложеного HTML кода
			document.getElementById("DateDaySelectSpan").innerHTML = http.responseText;
		}
	}
	
	// При изменении значения полей отправляем запрос снова
	function updateSelection()
	{
		// Считываем значения двух ниспадающих меню
		var SelectedMonth = document.getElementById("DateMonthSelect").value;
		var SelectedYear = document.getElementById("DateYearSelect").value;

		// Отсылаем переменные ффайлу с функциями обработки событий
		http.open("GET", url + escape(SelectedMonth) + url2 + escape(SelectedYear), true);
		http.onreadystatechange = handleHttpResponse;
		http.send(null);
	}
	
	// Получаем заголовок HTTP объекта
	function getHTTPObject()
	{
	  var xmlhttp;
		
		// Обработка события IE подобным браузером
		/*@cc_on
			@if (@_jscript_version >= 5)
			try
			{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (E)
				{
					xmlhttp = false;
				}
			}
		@else
			xmlhttp = false;
		@end @*/
	  
	  if (!xmlhttp && typeof XMLHttpRequest != '1')
	  {
		try
		{
		  xmlhttp = new XMLHttpRequest();
		}
		catch (e)
		{
		  xmlhttp = false;
		}
	  }
	  return xmlhttp;
	}
	
	var http = getHTTPObject();
2. Едем дальше, код файла для обработки выбраного месяца и года.
Код: Выделить весь код
<%
'// Обработка переменных адресной строки
	
if Session("CurrentUserLogin") <> 0 Then

	'// Сбор идентификаторов из адресной строки
	monthID = idStatus("month")
	yearID = idStatus("year")
	
	'// Функция замены вывода данных на экран [Response.Write]
	Function echo(StringContent)
		Response.Write(Stringcontent)
	End Function

	'// Функция обработки переменной адресной строки на предмет целочисленности
	Function idStatus(txtQueryString)
		if isNumeric(Request.QueryString(txtQueryString)) then
			if Request.QueryString(txtQueryString) > 0 then
				idStatus = Request.QueryString(txtQueryString)
			else
				idStatus = 0
			end if
		else
			idStatus = 0
		end if
	End Function
	
	'// Вычисление количества дней в текущем месяце
	Function DaysInMonth(SelectedDate)
		DaysInMonth2 = SelectedDate
		CurrentDate = Day(DaysInMonth2)
		BeginMonth = DateAdd("d",-(CurrentDate-1),DaysInMonth2)
		EndMonth = (DateAdd("m",1, BeginMonth)-1)
		DaysInMonth = Day(EndMonth)
	End Function
	
	'// Вывод количества дней в ниспадающее меню, в зависимости от выбранного месяца и года
	TotalDays = DaysInMonth("1" & "/" & monthID & "/" & yearID)
	
	echo "<select name='DateDaySelect' id='DateDaySelect'>"
	
	'// Окончательный вывод данных в строку, которая уйдет с запросом обрано в документ с меню
	for i = 1 to TotalDays
		echo "<option value=" & i & selectedOption & ">" & i & "</option>"
	next
	
	echo "</select>"
end if
%>
Вроде это все, пришлось помучаться немного, но чтение литературы - вещь поразительно полезная

Последний раз редактировалось mar, 28-05-2006 в 13:07.


Отправлено: 01:53, 24-03-2005 | #9


Аватара для E-mail

Ветеран


Сообщения: 640
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


iMP viSiOn
гы, а я задачу стоявшую не очень понял, нужно было показывать количество дней сколько прошло от даты которую выбрали?

под асп эт конечно круто

-------
Основы HTML | Конференции


Отправлено: 02:20, 24-03-2005 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » AJAX - динамическая подгрузка данных без перезагрузки страниц

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Проверка данных пользователя (PHP + JavaScript или Ajax) darksmoke Вебмастеру 2 15-06-2009 17:28
Службы - Изменение шлюза без перезагрузки? sabre10 Microsoft Windows 2000/XP 1 18-04-2009 01:24
Установка - [решено] Установка без перезагрузки DarkError! Microsoft Windows 2000/XP 1 09-04-2009 19:52
Переход из одной ОС в другую без перезагрузки xkspy Программное обеспечение Windows 14 17-07-2004 22:52
выборка данных из нескольких страниц vunder Программирование и базы данных 2 12-07-2004 20:33




 
Переход