Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / поля SELECT и AJAX / 25 сообщений из 45, страница 1 из 2
03.06.2008, 23:33
    #35352670
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
Здравствуйте!

Помогите решить проблемку. хочу сделать меню выбора страны и города.
Поскольку городов у нас много, то при выборе страны подгружать с сервера автоматически.
Как сделать что б сервер отдавал данные по входящим value=id я знаю, а вот как отправить их туда и принять?
большая просьба, подскажите примерами.
...
Рейтинг: 0 / 0
04.06.2008, 00:40
    #35352791
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
скажите честно - самостоятельно влом погуглить? В тырнете примеров миллиарды.

Простейшее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
var oXMLHttp = createRequestObject();
oXMLHttp.open('post', "./my_script.cgi", true);
oXMLHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
oXMLHttp.onreadystatechange = function ()
{
  if (oXMLHttp.readyState ==  4 )
  {
    if (oXMLHttp.status ==  200 )
    {
      alert(oXMLHttp.responseText);
    }
  }
}
oXMLHttp.send('param1=value1;param2=value2');

Как должна выглядеть функция createRequestObject(), какие использованы методы и их описание можно прочитать даже в энциклопедии - XMLHttpRequest .
...
Рейтинг: 0 / 0
04.06.2008, 01:17
    #35352827
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
да я гуглил, не поверите - неделю все рабочее время...
но туго понимаю я что к чему :-(
вот, последний вариант который хоть как то работает, но написан крыво, а как ровнее сделать...

Код: plaintext
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.
<html><head>
<script type="text/javascript" src="XHConn.js"></script>
<script type="text/javascript">
var addressBook = {
  addEvent: function( obj, type, fn ){ 
    if (obj.addEventListener) { obj.addEventListener( type, fn, false ); }
    else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); };
      obj.attachEvent( "on"+type, obj[type+fn] );
    }
  }
}
addressBook.addEvent(
  window, 'load', function() {
    addressBook.myConn = new XHConn();
    addressBook.addEvent( document.getElementById( 'person' ), 'change', function(){
      var fnWhenDone = function(oXML) { document.getElementById( 'address' ).innerHTML = oXML.responseText; };
      addressBook.myConn.connect("test.pl", "POST", "id="+this.value, fnWhenDone);
    } );
  }
);  
</script>
</head>
<body>
  <form action="test.pl" method="POST">
  <select id="person" name="person">
    <option value="1">Иванов Иван</option>
    <option value="2">Владимир Петров</option>
  </select>
  </form>
  <pre id="address"></pre>
</body></html>
...
Рейтинг: 0 / 0
04.06.2008, 01:24
    #35352829
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
illion, а будет ли ваш код совместим со всеми браузерами?
в примере который я привел используется скрипт http://xkr.us/code/javascript/XHConn/
котрый по утверждению авторов поддерживает:
Apple Safari 1.2+
Microsoft Internet Explorer 5.0+ (Windows)
Mozilla 0.7.3+ -- includes Firefox, Camino, etc.
Opera Browser 7.60 P1+ (Note: GET support only, as Opera doesn't yet support the setRequestHeader() method.)
...
Рейтинг: 0 / 0
04.06.2008, 01:36
    #35352838
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
yarnikillion, а будет ли ваш код совместим со всеми браузерами?
будет, если Вы пройдете по указанной мною ссылке и посмотрите, как правильно кроссбраузерно создавать объект XMLHttpRequest
...
Рейтинг: 0 / 0
04.06.2008, 01:45
    #35352842
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
собственно, Ваш XHConn.js использует практически тот же самый код:
Код: plaintext
1.
2.
3.
4.
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
...
Рейтинг: 0 / 0
04.06.2008, 02:18
    #35352862
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
Ярник, я в шоке ... посмотри, будь добр, последние 3 страницы данного форума - найдешь минимум 3-4 темы по данному вопросу, причем с подробным кодом ... и не колупай мозг ...
...
Рейтинг: 0 / 0
04.06.2008, 04:51
    #35352896
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
IDVsbruckЯрник, я в шоке ...
а чего тут в шоке быть. Элементарная лень. Я вот захожу в гугл, пишу "ajax список городов", щелкаю по первой же открывшейся ссылке и наблюдаю там подробный пример. На поиск потрачено полминуты жизни. А человек "гуглил, не поверите - неделю все рабочее время" и вот те на! - ничего не нашел. Надо же, мистика какая.
...
Рейтинг: 0 / 0
04.06.2008, 11:35
    #35353494
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
IDVsbruck - сам в шоке!

illion - ОГРОМНОЕ СПАСИБО за обе ссылочки, именно то что я искал неделю!
...
Рейтинг: 0 / 0
04.06.2008, 16:04
    #35354447
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
illion,
возможно ли вас услышать в асе 258050?
...
Рейтинг: 0 / 0
04.06.2008, 16:28
    #35354535
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
illion... захожу в гугл, пишу "ajax список городов", щелкаю по первой же открывшейся ссылке и наблюдаю там подробный пример ...

Ужасный пример на этой странице: у них Украина по-английски написана как "Ukrain". Не подходит.
...
Рейтинг: 0 / 0
04.06.2008, 16:32
    #35354546
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
IDVsbruckУжасный пример на этой странице: у них Украина по-английски написана как "Ukrain". Не подходит.
Совершенно с вами согласен! поэтому ищу специалиста который смог бы исправить данную оЧепятку :-)
...
Рейтинг: 0 / 0
04.06.2008, 16:52
    #35354622
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
IDVsbruck illion... захожу в гугл, пишу "ajax список городов", щелкаю по первой же открывшейся ссылке и наблюдаю там подробный пример ...
Ужасный пример на этой странице: у них Украина по-английски написана как "Ukrain". Не подходит.
судя по "RUSSIAN", автор под "Ukrain" имел в виду не Украину, а "украинский". Но это у него тоже не получилось. Хорошо хоть USA не стал склонять. В целом в плане кода пример некорректен (сорри, раньше лень было вчитываться), но если объединить его с примером из википедии, то получится нормальный вариант.
...
Рейтинг: 0 / 0
04.06.2008, 17:04
    #35354665
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
yarnik IDVsbruckУжасный пример на этой странице: у них Украина по-английски написана как "Ukrain". Не подходит.
Совершенно с вами согласен! поэтому ищу специалиста который смог бы исправить данную оЧепятку :-)
думаю, Вы его не найдете. Судя по Вашим вопросам, код целиком надо за Вас писать, а кто ж захочет. Я вот не хочу. Вам IDVsbruck намекал, что нужно всего лишь пролистать форум на несколько страниц (или поиском воспользоваться), и можно будет найти готовый ответ. Вы что-нибудь предприняли в этом направлении? Нет? пример с sql.ru
...
Рейтинг: 0 / 0
04.06.2008, 17:20
    #35354731
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
illion yarnikСовершенно с вами согласен! поэтому ищу специалиста который смог бы исправить данную оЧепятку :-)
думаю, Вы его не найдете. Судя по Вашим вопросам, код целиком надо за Вас писать, а кто ж захочет. Я вот не хочу.
Жаль, очень жаль...
Первый раз вижу человека который на форуме помагает, а платно скрипт отказывается писать...
Может передумаете?
...
Рейтинг: 0 / 0
04.06.2008, 17:41
    #35354794
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
yarnik
Первый раз вижу человека который на форуме помагает, а платно скрипт отказывается писать...
Может передумаете?
я пас. Платно скрипты я пишу на работе. Дома я принципиально ничего не пишу. На этот форум я пишу хз почему (самый большой от него толк - это отвлечься от основной задачи и потом взяться за нее с новыми силами или с другого конца. :-) ). За остальных отвечать не могу, может и найдутся среди них фрилансеры.
...
Рейтинг: 0 / 0
04.06.2008, 18:00
    #35354847
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
illion
Отлично!
...
Рейтинг: 0 / 0
04.06.2008, 21:53
    #35355202
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
По сабжу - XmlHttpRequest уже не юзаю (по причине отсутствия кроссдоменности). Использую вот это , чего программистам яваскрипт и рекомендую.
...
Рейтинг: 0 / 0
05.06.2008, 01:12
    #35355407
apapacy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
ShSergeПо сабжу - XmlHttpRequest уже не юзаю (по причине отсутствия кроссдоменности). Использую вот это , чего программистам яваскрипт и рекомендую.

Спасибо. Серж!
Я конечно, знал за SCRIPT и IFRAME, но пребывал в наивной уверенности, что кросс-доменный JavaScript дает защиту полей документа от доступа. Хотя теперь понимаю, то это не может быть так. Если скрипт загружет - все под рукою.
...
Рейтинг: 0 / 0
05.06.2008, 12:36
    #35356229
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
ShSergeПо сабжу - XmlHttpRequest уже не юзаю (по причине отсутствия кроссдоменности). Использую вот это , чего программистам яваскрипт и рекомендую.
есть вопрос по поводу безопасности.
Зачем было придумано "уникальный callback-id" если вот тут http://en.wikipedia.org/wiki/JSON написано, что где сервер отвечает только серверному скрипту
"the URL replying to the request must reside within the same DNS domain as the server that hosts the page containing the request" (c)
...
Рейтинг: 0 / 0
05.06.2008, 13:05
    #35356385
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
yarnikЗачем было придумано "уникальный callback-id"...
Это автор статьи чего-то намутил (я не использую "уникальный")
yarnikесли вот тут http://en.wikipedia.org/wiki/JSON написано, что где сервер отвечает только серверному скрипту
"the URL replying to the request must reside within the same DNS domain as the server that hosts the page containing the request" (c)
А этот текс как-раз подразумевает XmlHttpRequest.
Безопасность действительно под угрозой. Базу данных апдейтить JSONP не надо (хотя бы из тех соображений, что с клиента всё передаётся методом GET). А вот получать данные - можно.
...
Рейтинг: 0 / 0
05.06.2008, 15:47
    #35357085
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
ShSergeЭто автор статьи чего-то намутил (я не использую "уникальный")
Можно пример без использования уникального?
я как ни пытаюсь его обрезать - отказывается работать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<script type="text/javascript">
var callbacks=new Object();
function callJSONP(url, func, arg) {
  var script = document.createElement('script');
  script.src = url;
  script.type = 'text/javascript';
  document.body.appendChild(script);
}
</script>

ShSerge yarnikесли вот тут http://en.wikipedia.org/wiki/JSON написано, что где сервер отвечает только серверному скрипту
"the URL replying to the request must reside within the same DNS domain as the server that hosts the page containing the request" (c)
А этот текс как-раз подразумевает XmlHttpRequest.
Безопасность действительно под угрозой. Базу данных апдейтить JSONP не надо (хотя бы из тех соображений, что с клиента всё передаётся методом GET). А вот получать данные - можно.
Почему подразумевает XmlHttpRequest? речь же идет о JSON
Где безопасность под угорозой?
JSON и JSONP это одно и тоже?

Простите за вопросы новичка
...
Рейтинг: 0 / 0
05.06.2008, 16:23
    #35357227
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
function getJSON(){
window.onload=getJSON;//например (или кнопка клик)
function getJSON(){
  var script = document.createElement("script");
  script.src = 'Default.aspx?callback=myFunction&пар1=знач1&пар2=знач2...';
  script.type = 'text/javascript';
  document.body.appendChild(script);
}
function myFunction(JSON_resp){
alert(JSONP_resp.чего-то_там.чего-то_там...);
}
JSON - некоторая структура данных определённого формата, которая м.б. получена с помощью XmlHttpRequest, например.
JSONP - механизм изменения данных на странице без перезагрузки и без использования реквеста.
...
Рейтинг: 0 / 0
05.06.2008, 18:02
    #35357587
yarnik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
а рабочий пример можно? :-)
...
Рейтинг: 0 / 0
05.06.2008, 20:23
    #35357879
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поля SELECT и AJAX
Честное слово - лень. Тем более, что ты не говоришь, чего на сервере используешь. На самом деле, и в указанной статье - примерчик, если всё как положено собрать - работает.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / поля SELECT и AJAX / 25 сообщений из 45, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]