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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> prototype - разбор ответа, переезд с YUI на prototype 
:(
    Опции темы
Leshak
Дата 15.6.2009, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



помогите Кто Может - и просьба не ругаться - возможно опять что-то не доглядел...

после очередной заморочки с  YUI от  YAHOO  
решил перейти на использование prototype

внешне вроде заработало
YAHOO  вариант:  http://www.walks.ru/stdt/album_oglb.html
prototype  вариант:  http://www.walks.ru/stdt/album_oglc.html

но когда полез смотреть на внутренности обнаружил в ответах с использованием prototype кучу лишней для меня информации

[ Россия ][ Москва ][ Метро ][ Кольцевая линия ][ станция ’Киевская’ ]  
кнопка с отладочной информацией в правом верхнем углу [test]

сделал тест для освоения http://walks.ru/stdt/prototype.html



Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><title>AJAX test prototype</title>

<script type="text/javascript" src="http://www.walks.ru/stdt/templ/prototype.js"></script>

<script language="JavaScript">
function doShow() {
    var responseStr ;
    var Url = '/cgi-bin/album/album_oglb.pl?tems(prnt=4030)' ;
    var request = new Ajax.Request( Url,{ method: 'get', onSuccess: handleSuccess, onFailure: handleFailure  });    //  обращение к серверу    
//    var Url = '/cgi-bin/album/album_oglb.pl?pictsLink({path=stdt/moscow&dsc=mtr1_09&id=147&kod=0}{path=stdt/moscow&dsc=mtr0_04&id=109&kod=0})' ;
//    var request = new Ajax.Request( Url,{ method: 'get', onSuccess: handleSuccess, onFailure: handleFailure  });    //  обращение к серверу    
    
    }
    
    var handleSuccess = function(o){
        var status ;
        if(o.responseText !== undefined){
            var ret = o.responseText ;
            status = "HTTP status: " + o.transport.status + "\n";
            status += "Status code message: " + o.transport.statusText + "\n";
            status += "Response Text: "+ret + "\n";
            alert(status);
            outTest.innerHTML += "<hr>"+ret+"<hr>";
    //        var B = eval("(" + o.responseText + ")")
            var B = eval("(" + ret + ")")
            testHash(B);
        }
    } ;

    var handleFailure = function(o){
     alert ("handleFailure !");
        alert (o.statusText);
        if(o.status !== undefined){
            status = "HTTP status: " + o.status + "\n";
            status += "Status code message: " + o.transport.statusText + "\n";
            status += "Response Text: "+o.responseText + "\n";
           alert(status);
        }
    } ;
    
    var testHash = function(X){         //   попытка выводить содержимое Хеша
        for(i in X) {
            if( typeof(X[i]) == "object" ) {  // == 'object'
                for(j in X[i]) {
                    if ( typeof(X[i][j]) == "object"  ) {
                        for( n in X[i][j] ) {
                            outTest.innerHTML +="........<b>"+i+" : "+j+" : "+n+"</b> =" + X[i][j][n] + "<br>"  ;
                        } ;
                    } else { outTest.innerHTML += "....<b>" + i +" : "+ j + "</b> =" + X[i][j] + "<br>"  ; }
                }
            } else {
                outTest.innerHTML += "..<b>" + i + "</b> =" + X[i] + "<br>"  ;
            }
        }
    } ;       //  testHash

</script>

</head>

<body   onload="doShow();"  >
<h2>Работа с AJAX</h2>
<div id="updateMe">Update me</div>
<script type="text/javascript">
    outTest = $("updateMe");
    outTest.innerHTML = "<b>outTest</b><br>";

</script>

</body>
</html>


ниже его результат

Цитата

--------------------------------------------------------------------------------
.responseText
{ "tems": [ {"pth":"stdt/goros" , "pct":"/kostroma/kstrm01_0718_302s.jpg" , "date":"" , "prnt":"4030" , "id":"" , "dsc":"kstrm01_0718_0.rus" , "name":"Кострома, Прогулка по городу" } , {"pth":"stdt/goros" , "pct":"/kostroma/kstrm01_0718_277s.jpg" , "date":"" , "prnt":"4030" , "id":"" , "dsc":"kstrm01_0718_1.rus" , "name":"Кострома, Ипатьевский монастырь" } , {"pth":"stdt/goros" , "pct":"/kostroma/kstrm01_0718_274s.jpg" , "date":"" , "prnt":"4030" , "id":"" , "dsc":"kstrm01_0718_2.rus" , "name":"Кострома, музей деревянного зодчества" } ] } 
--------------------------------------------------------------------------------
распечатка Хэша
полезная мне информация

........tems : 0 : pth =stdt/goros
........tems : 0 : pct =/kostroma/kstrm01_0718_302s.jpg
........tems : 0 : date =
........tems : 0 : prnt =4030
........tems : 0 : id =
........tems : 0 : dsc =kstrm01_0718_0.rus
........tems : 0 : name =Кострома, Прогулка по городу
........tems : 1 : pth =stdt/goros
........tems : 1 : pct =/kostroma/kstrm01_0718_277s.jpg
........tems : 1 : date =
........tems : 1 : prnt =4030
........tems : 1 : id =
........tems : 1 : dsc =kstrm01_0718_1.rus
........tems : 1 : name =Кострома, Ипатьевский монастырь
........tems : 2 : pth =stdt/goros
........tems : 2 : pct =/kostroma/kstrm01_0718_274s.jpg
........tems : 2 : date =
........tems : 2 : prnt =4030
........tems : 2 : id =
........tems : 2 : dsc =kstrm01_0718_2.rus
........tems : 2 : name =Кострома, музей деревянного зодчества
бесполезная мне информация
....tems : each =function each(iterator, context) { var index = 0; try { this._each(function(value) { iterator.call(context, value, index++); }); } catch (e) { if (e != $break) throw e; } return this; }
....tems : eachSlice =function eachSlice(number, iterator, context) { var index = -number, slices = [], array = this.toArray(); if (number < 1) return array; while ((index += number) < array.length) slices.push(array.slice(index, index+number)); return slices.collect(iterator, context); }
....tems : all =function all(iterator, context) { iterator = iterator || Prototype.K; var result = true; this.each(function(value, index) { result = result && !!iterator.call(context, value, index); if (!result) throw $break; }); return result; }
....tems : every =function all(iterator, context) { iterator = iterator || Prototype.K; var result = true; this.each(function(value, index) { result = result && !!iterator.call(context, value, index); if (!result) throw $break; }); return result; }
....tems : any =function any(iterator, context) { iterator = iterator || Prototype.K; var result = false; this.each(function(value, index) { if (result = !!iterator.call(context, value, index)) throw $break; }); return result; }
....tems : some =function any(iterator, context) { iterator = iterator || Prototype.K; var result = false; this.each(function(value, index) { if (result = !!iterator.call(context, value, index)) throw $break; }); return result; }
....tems : collect =function collect(iterator, context) { iterator = iterator || Prototype.K; var results = []; this.each(function(value, index) { results.push(iterator.call(context, value, index)); }); return results; }
....tems : map =function collect(iterator, context) { iterator ....



как избавиться от получения в хэш мне содержимого библиотеки и моей программы??


PM MAIL   Вверх
Leshak
Дата 18.6.2009, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



неужели больше никто не сталкивался с такой проблемой при использовании prototype ??

попробовал jQuery - в хеш попадает только то, что прислано с сервера
и его содержимое показывается нормально

может при использовании prototype надо использовать что-то другое а не eval ?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




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


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

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