Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.11.2008, 10:48
Новичок на форуме
Отправить личное сообщение для !JAlex_ Посмотреть профиль Найти все сообщения от !JAlex_
 
Регистрация: 18.11.2008
Сообщений: 7

Сочетание JavaScript+Python
Здравствуйте
Опишу задачу: создать веб-приложение которое б выполняло выборку с передачей параметров из базы данных, хранящейся на сервере, по некоторому событию и очень желательно чтоб без перезагрузки страницы.
Вопросы:
1. возможно ли это реализовать с помощью JavaScript (у клиента) и с использованием серверной части на Python?
2. нужен ли jQuery у клиента?
3. Есть ли у кого какие-нибудь примеры кода (или ссылки на код) подобных задач?
4. Возможно ли сдесь обойтись без PHP?
Раньше никогда не использовал ни jQuery, ни Python
Только начинаю деятельность веб-программера

Последний раз редактировалось !JAlex_, 24.11.2008 в 16:16.
Ответить с цитированием
  #2 (permalink)  
Старый 19.11.2008, 11:08
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от !JAlex_
1. возможно ли это реализовать с помощью JavaScript (у клиента) и с использованием серверной части на Python?
Да.

Сообщение от !JAlex_
2. нужен ли jQuery у клиента?
Необязательно.

Сообщение от !JAlex_
3. Есть ли у кого какие-нибудь примеры кода (или ссылки на код) подобных задач?
У Яндекса.

Сообщение от !JAlex_
4. Возможно ли сдесь обойтись без PHP?
Да.
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2008, 11:16
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от !JAlex_
1. возможно ли это реализовать с помощью JavaScript (у клиента) и с использованием серверной части на Python?
Да.

Можно "голый" Python на серверной стороне - PSP (Python Server Pages), когда код на Питоне встраивается в HTML. А можно использовать какой-нибудь фреймворк, например (популярный) Django.

В качестве клиента, естественно, JavaScript (тоже наиболее популярный сегодня для клиентского web-программирования). Хотя, в будущем, возможно, альтернативой будет также Python (некоторые уже имеют поддержку). Также можно чистый JavaScript, либо же использовать готовые решения и фреймворки (тот же jQuery, Prototype и т.д.)

Сообщение от !JAlex_
2. нужен ли jQuery у клиента?
Не обязательно. jQuery - это всего лишь фреймворк (набор оболочек, функций и прочей мишуры), "внутри" которого все тот же чистый JavaScript. Поэтому, среагировать на событие (например, нажатие на кнопку) и отправить Ajax запрос (а именно он Вам понадобится, если Вы хотите обратиться к серверу без перезагрузки страницы) можно и чистыми JavaScript методами.

Сообщение от !JAlex_
3. Есть ли у кого какие-нибудь примеры кода (или ссылки на код) подобных задач?
Дофига и больше. Поищите на этом сайте (в статьях есть неплохие примеры), в Google, и Википедии.

Сообщение от !JAlex_
4. Возможно ли сдесь обойтись без PHP?
Да. PHP - это серверный язык. Альтернативой ему может служить Python.

Сообщение от !JAlex_
Раньше никогда не использовал не jQuery, не Python
В виду популярности jQuery, есть огромное количество инфы с примерами (даже на русском). Так что - в поиск. Насчет Python'a - я думаю, Вам лучше взглянуть в сторону какого-нибудь фреймворка (тоже же Django, опять), хотя если у Вас не большой проект, то это будет тяжеловесное решение (с другой стороны, "чистый" Питон в виде PSP вообще мало распространен и не столь популярен).

Сообщение от !JAlex_
Только начинаю деятельность веб-программера
Успехов!
__________________
Тонкости ECMAScript
Ответить с цитированием
  #4 (permalink)  
Старый 19.11.2008, 11:16
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Kolyaj, Ы )) я дольше писал ) отвлекался, еще кофе ходил себе наливал =)
__________________
Тонкости ECMAScript
Ответить с цитированием
  #5 (permalink)  
Старый 19.11.2008, 11:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ну у меня как бы анонс следующего сообщения, реклама так сказать
Ответить с цитированием
  #6 (permalink)  
Старый 19.11.2008, 11:48
Новичок на форуме
Отправить личное сообщение для !JAlex_ Посмотреть профиль Найти все сообщения от !JAlex_
 
Регистрация: 18.11.2008
Сообщений: 7

Ок Спасибо
Ответить с цитированием
  #7 (permalink)  
Старый 19.11.2008, 15:25
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Если проект небольшой, то можно использовать простенький python фреймворк web.py.
Я с ним немного работал, в целом осталось хорошее впечатление.
Ответить с цитированием
  #8 (permalink)  
Старый 26.11.2008, 13:38
Новичок на форуме
Отправить личное сообщение для !JAlex_ Посмотреть профиль Найти все сообщения от !JAlex_
 
Регистрация: 18.11.2008
Сообщений: 7

Немного продвинулся вперед: научился отправлять запросы (с помощью XMLHttpRequest) от клиента серверу, на сервере накатал скрипт на Питоне, который отправляет клиенту ХТМЛ код И тут появился камень спотыкания : в IE6, а вот Opera упорно отказывается :-\
Вот функции, которыми создаю объект запроса и обработчик нажатия на кнопочку:
<script text='javascript'>     
    /**************** создание объекта xmlhttpRequest**************/
    function getreq(){
	var req;
	    if (window.XMLHttpRequest) 		//normal browser
	    {
		req = new XMLHttpRequest();
	    }
	    else if (window.ActiveXObject)  	//IE
	    {
		try {
		    req = new ActiveXObject('Mcxm12.XMLHttp');  //IE разных версий
		} catch (e) {}
		try{
		    req = new ActiveXObject('Microsoft.XMLHttp');
		} catch (e){}	
	    }
	return req;    
    }

/*выполнение запроса на сервер*/ 
    function onBut(){	
	var req = getreq();
        req.open("get","../cgi-bin/1.cgi",true);	
	if (req){
            req.onReadyStateChange=function(){/*туточки Опера спотыкается и не хочет продолжать работать (проверял alert'ами)*/
        	if (req.readyState == 4){                    	
        	alert(req.status);
        	    if (req.status == 200) {/*если находит заданный URL*/	
	        	alert(req.responseText);      	
    		    }    
    		}
    	      }
    	    req.send(null);/*отправляемые на сервер параметры*/            
        }
        else {
    	    alert ('some error with object REQUEST');
    	}
    }
</script>

Воспользовался описанием как создавать запросы тута: http://xmlhttprequest.ru/ И самое интересное, что там !!аналогичная!! функция, но данная функция в Опере работает и у них она ссылается на ПХП-файлик, а у меня на файл Питона %) Даю ссылочку на их внешний файл с их рабочей функцией example2(): http://xmlhttprequest.ru/xhr.js
Если можете помогите ПОЖАЛСТА

Последний раз редактировалось Андрей Параничев, 29.11.2008 в 16:53. Причина: Пользуйтесь bb-кодами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #9 (permalink)  
Старый 26.11.2008, 14:24
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от !JAlex_
req.onReadyStateChange
регистр букв имеет значение, все буквы в данном случае должны быть маленькие - req.onreadystatechange
__________________
Тонкости ECMAScript
Ответить с цитированием
  #10 (permalink)  
Старый 26.11.2008, 14:56
Новичок на форуме
Отправить личное сообщение для !JAlex_ Посмотреть профиль Найти все сообщения от !JAlex_
 
Регистрация: 18.11.2008
Сообщений: 7

Огромное СПАСИБО - теперь в Опере работает Я даже не подумал, что от регистра может зависеть работоспособность, т.к. javascript, вроде, регистронеразличающий язык Странновасто как-то...
Еще поутно вопросик возник: из-за чего выполнение запроса к серверу в Опере9 выполняется намного дольше чем в IE6 и это при том, еще никакие выборки не передаются клиенту??
Что с этим можно сделать?

Последний раз редактировалось !JAlex_, 26.11.2008 в 15:01.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лучшая книга по JavaScript Systemnik Оффтопик 27 26.08.2012 15:54
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 09:05
Современная книга по JavaScript twolf Оффтопик 18 21.02.2009 00:20
Обращение к именам, полученным через Javascript baal1988 Events/DOM/Window 1 31.08.2008 14:08
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 15:43