Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не могу разобратся в JS коде для получения данных
 
 автор: web777   (04.05.2008 в 09:55)   письмо автору
 
 

пытаюсь разобраться какой запрос указать чтобы получить данные

имеется такой сайт avtodoska.ru с верху есть ссылка "выбрать регион >>"
при нажатии отрывается окошко с выбором городов, это всё понятно, вот решил у себя такое сделать, но поскольку я в JS не силён то появились проблемы. При просмотре JS исходников, заметил используется библиотека jquery и к нему отдельный код:

<script type="text/javascript" src="http://www.avtodoska.ru/javascript/select_region.js"></script>

в этом коде обноружил что когда мы выбираем город, то идёт запрос по УРЛ`У
avtodoska.ru/all/regions_ajax.html

если перейти по нему, то получим сообщение "unknown error" о том что нет запроса или что-то в этом роде, так вот, пытался найти в исходнике select_region.js какие должны передаватся запросы чтобы получить данные, но так не смог разобратся, т.к я не слишком хорошо разбираюсь в JS скриптах, поэтому решил обратится к вам, за помощью, мне бы главное разобратся какие запросы должны передаваться для файла regions_ajax.html

делал методом тыка
avtodoska.ru/all/regions_ajax.html?go=get_path_region&region_id=001000000&set_region=0

но всёранво данные при этом запросе всёже не получаю

буду очень благодарен за помощь

   
 
 автор: SHAman   (04.05.2008 в 10:09)   письмо автору
 
   для: web777   (04.05.2008 в 09:55)
 

Код в студию. Там при подаче запроса серверу, параметры указываются не в урле, а в параметрах запроса. А это можно сделать по-разному. Уж не говоря о том, что в jQuery есть куча способов послать асинхронный запрос серверу и получить ответ.

   
 
 автор: web777   (04.05.2008 в 10:24)   письмо автору
 
   для: SHAman   (04.05.2008 в 10:09)
 

весь код находится тут
http://www.avtodoska.ru/javascript/select_region.js

я просто не хочу сюда помещать его, т.к он большой будет чтобы сюда выкладывать, 181 строк всего

я приведу одну функцию с этого файла


function get_current_region()
{
        $('#loader_text').empty();
        $('#loader_text').append('Подождите, идет загрузка...');
        $('#regions').hide();
        $('#loader').show();
        $.ajax({
                type: "POST",
                url: ajax_script,
                data: {go:'get_path_region',region_id:region_id},
                dataType: "json",
                success: function(reg) {
                                raspred_reg        (reg);
                                get_region ();
                                $('#loader').hide();
                                $('#regions').show();
                                }
                });

}


вроде как я понимаю в УРЛ должен передавать ГЕТ параметр: region_id=что-то

примерно так
avtodoska.ru/all/regions_ajax.html?region_id=001000000

но всёрано, результата нет

да, ещё в самом вверху скрипта select_region.js есть строчка

var ajax_script='http://www.avtodoska.ru/all/regions_ajax.html';

где переменной ajax_script назначается тот УРЛ

единственно что нужно, узнать какие параметры должны передавать для
avtodoska.ru/all/regions_ajax.html

тоесть узнав какие параметры должны передаваться, я узнаю какие данные должен возвращать regions_ajax.html, а там я уже на PHP напишу свой код в место этого файла и у себя на сервере буду принимать и передавать данные

   
 
 автор: AlexSol   (04.05.2008 в 10:41)   письмо автору
 
   для: web777   (04.05.2008 в 10:24)
 

 $.ajax({ 
                type: "POST", 


а вы пишите "вроде как я понимаю в УРЛ должен передавать ГЕТ параметр: region_id=что-то"

вобщем вроде как вы не понимаете...

передаются переменные go и region_id

   
 
 автор: web777   (04.05.2008 в 11:03)   письмо автору
 
   для: AlexSol   (04.05.2008 в 10:41)
 

упс, точно, невнимательно посмотрел, спасибо за поправку

при ПОСТ, наверное уже не узнаешь какие данные передает regions_ajax.html для JS скрипту?

а ни как ещё нельзя узнать, что получает JS скрипт, какие данные? а я сам потом напишу PHP скрипт который будет передавать теже данные

   
 
 автор: AlexSol   (04.05.2008 в 11:13)   письмо автору
 
   для: web777   (04.05.2008 в 11:03)
 

вы хотите их базу передрать?

   
 
 автор: web777   (04.05.2008 в 11:18)   письмо автору
 
   для: AlexSol   (04.05.2008 в 11:13)
 

не не, не в коем случаи, города можно взять из других открытых источников, это не проблема, меня заинтересовала только сама реализация выбора городов. Я конечно в JS не особо силен, только PHP знаю примерно на среднем уровне, поэтому и обратился сюда за помощью

   
 
 автор: AlexSol   (04.05.2008 в 11:27)   письмо автору
 
   для: web777   (04.05.2008 в 11:18)
 


<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>
<script>

function getData(arg){
    $('#loader_text').empty(); 
    $('#loader_text').append('Подождите, идет загрузка...');
    $.get("test.php",{ id:arg},
        function(data){
            $('#loader_text').empty(); 
            $("#loader_text").html(data);
        }
    );
}
</script>

<a href="#" onclick="getData(77); return false;">регион 77</a>
<div id="loader_text">суда выводятся данные</div>



функции getData передается параметр, которые методом ГЕТ отсылается test.php?id=значение. полученные данные записываются в <div id="loader_text">

   
 
 автор: web777   (04.05.2008 в 15:00)   письмо автору
 
   для: AlexSol   (04.05.2008 в 11:27)
 

ухты, получилось, решил через пост сделать запрос


<form method="POST" action="http://www.avtodoska.ru/all/regions_ajax.html">
<input type="text" name="go"  value="get_path_region">
<input type="text" name="region_id" value="001000000">
<input type="submit" value="ok" name="B1">
</form>



тем самым получил в браузере

[{"id":"001000000","parent_id":"0","position":"0","name":"Р РѕСЃСЃРёСЏ","type":"","translate_name":"ru","post_index":null,"region_center":"Y"}]


правда названия в неизвестной кодировке, но это думаю ерунда

теперь надо написать свой обработчик на пхп для передачи данных, и готово:)


кстати, спасибо за ваш пример, он тоже мне понравился, легко можно делать погрузку данных, про библиотеку jQuery я слышал давно но вот примеров не мог найти чтобы были такими простыми для новичка. Вообще я на даный момент использую библиотеку Дмитрия Котерова, но эта тоже меня заинтересовала своей простотой

   
 
 автор: web777   (05.05.2008 в 15:13)   письмо автору
 
   для: web777   (04.05.2008 в 15:00)
 

тут столкнулся с одной проблемой, незнаю как решить её

в том же скрипте имеется функция поиска города, при запросе, должен быть список найденных городов или города, но почемуто выводит как я понял все города даже совсем не похожи на запрос, если допустим ищу город Москва, то выводит и Новгород и т.п, вообщем все города.

Поиск тоже при POST запросе

вот так пытаюсь сделать запрос:


<form method="POST" action="http://www.avtodoska.ru/all/regions_ajax.html">
<input type="text" name="go"  value="qsearch">
<input type="text" name="query" value="Москва">
<input type="submit" value="ok" name="B1">
</form>


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

Может я не указал ещё какой-нибудь параметр для запроса?

   
 
 автор: AlexSol   (05.05.2008 в 15:36)   письмо автору
 
   для: web777   (05.05.2008 в 15:13)
 

может. а может напишите свой обработчик запросов и он будет выдавать только Москва? ))

   
 
 автор: web777   (05.05.2008 в 15:45)   письмо автору
 
   для: AlexSol   (05.05.2008 в 15:36)
 

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

за помощь спасибо:)

   
 
 автор: AlexSol   (05.05.2008 в 15:47)   письмо автору
 
   для: web777   (05.05.2008 в 15:45)
 

я же написал пример как передать и получить данные. чего еще нужно? )

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования