Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с передачей xml клиенту, или с приемом... 
:(
    Опции темы
semi
Дата 24.5.2007, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 10.12.2006
Где: ой, все сложно...

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



на сервере
Код

...
           Response.ContentType="text/xml";            
           Response.Write("<?xml version=\"1.0\" encoding=\"utf-8\"?>");  Response.Write("<NewDataSet><t_codUcheta><kod>4</kod></t_codUcheta><t_codUcheta><kod>5</kod></t_codUcheta></NewDataSet>");
...


на клиенте
Код

...
        if (request.readyState==4 || request.readyState=="complete"){ 
       var xmlDoc = request.responseXml;
       alert(request);
        var el_rows = xmlDoc.getElementsByTagName("t_codUcheta");
        alert(el_rows.length);
...


d опере и мозиле первый алерт выдает XMLhttpRequest а на второй никакой реакции
ие 1-й - [object], а  2-й пишет  0. 
хотя должно быть 2...

что я не так делаю?

Это сообщение отредактировал(а) semi - 24.5.2007, 21:41
PM MAIL ICQ   Вверх
SpaceSpace
Дата 25.5.2007, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



может стоит на сервере сделать

Response.End();

?




--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
semi
Дата 28.5.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 10.12.2006
Где: ой, все сложно...

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



Цитата(SpaceSpace @  25.5.2007,  07:47 Найти цитируемый пост)
может стоит на сервере сделать

сделала... сейчас так(клиент):
Код

var request = false;    

        function httpreq(){
            request = false;
            try {
                request = new XMLHttpRequest();            
            } catch (trymicrosoft) {
                try {
                    request = new ActiveXObject("Msxml2.XMLHTTP");                    
                } catch (othermicrosoft) {
                    try {
                        request = new ActiveXObject("Microsoft.XMLHTTP");                        
                    } catch (failed) {
                        request = false;                        
                    }
                }
            }            
            if (!request)
            alert("Error initializing XMLHttpRequest!");
        }
        
        function showHint(str){                            
            var url="ajax.aspx";
            url=url+"?kod="+str;                
            request.onreadystatechange=stateChanged;
            request.open("GET",url,true);
            request.send(null);            
        } 
              
                 function stateChanged() {                            
            if (request.readyState == 4) {            
                if (request.status == 200) {                            
                    var xmlDoc = request.responseXML;
                    ...
                                }
                                else
                    alert("status is " + request.status);
                        }
                 }

сервер
Код

private void Page_Load(object sender, System.EventArgs e)
        {...
                        Response.ContentType="text/xml";            
            Response.Write("<?xml version='1.0'?>");            
            Response.Write(ds.GetXml());            
            Response.End();
                }

в итоге в ie все прекрасно работает. а мозила и опера пишут status is 500.

Народ, помогите! ужо замаялась. в чем ошибка? 
PM MAIL ICQ   Вверх
Mymik
Дата 28.5.2007, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



semi,  функцию httpreq можно заменить на 
Код

var Try = {
  these: function() {
    var returnValue;
    
    for (var i = 0; i < arguments.length; i++) {
      var lambda = arguments[i];
      try {
        returnValue = lambda();
        break;
      } catch (e) {}
    }
    
    return returnValue;
  }
}

function httpreq()
{
    return Try.these(
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
      function() {return new XMLHttpRequest()}
    ) || false;
}

Гораздо быстрее и правильнее работает.

А вот насчет того что 500... попробуй указывать абсолютный путь, а не относительный... хотя черт его знает...

А если к другим страницам обратиться ???


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
semi
Дата 28.5.2007, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 10.12.2006
Где: ой, все сложно...

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



Цитата(Mymik @  28.5.2007,  20:40 Найти цитируемый пост)
функцию httpreq можно заменить на 


дело в том, что эта функция работает нормально... я ставила в ней алерты... и на опер у им мозилу она как положено заходила в первый try... и request имело значение XMLHttpRequest...

Цитата(Mymik @  28.5.2007,  20:40 Найти цитируемый пост)
попробуй указывать абсолютный путь, а не относительный

онив одной папке находятся... 

и после послания запроса на сервере точно выполняются приведенные строки... (это в ие. а в мозиле и опере не знаю...)
как в vs2003 изменить браузер по умолчанию? чтоб вызывалась опера например, а не ie? попробовать по брекпоинтам проверить
PM MAIL ICQ   Вверх
Mymik
Дата 28.5.2007, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



Цитата(semi @  28.5.2007,  20:52 Найти цитируемый пост)

как в vs2003 изменить браузер по умолчанию? чтоб вызывалась опера например, а не ie? попробовать по брекпоинтам проверить 

Нужно включить тот браузер что тебе нужно и выставить его по умолчанию.




--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
semi
Дата 28.5.2007, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 10.12.2006
Где: ой, все сложно...

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



Цитата(Mymik @  28.5.2007,  21:07 Найти цитируемый пост)

Нужно включить тот браузер что тебе нужно и выставить его по умолчанию.


у меня в винде по умолчанию ff стоит. а в студии запускается все-равно ie.
PM MAIL ICQ   Вверх
Mymik
Дата 28.5.2007, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



semi, тогда пойди другим путем. В запустившемся IE скопируй ссылку в буффер, открой FF и паст туда этой ссылки


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
semi
Дата 28.5.2007, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 10.12.2006
Где: ой, все сложно...

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



Mymik, спасибо за совет. Чесно говоря думала, что не так нельзя сделать smile хорошо, что ошибалась.
ошибка оказывается совсем в другом месте... 

в коде есть строка 
Код

var id = ttt.substr(3,ttt.lenght);


так вот ie понял, что я имела в виду length, а фф прицепился. а это id потом посылалось на сервер и по нему генерился xml для ответа... соответственно на сервер приходил вместо кода пустое место и все вылетало. капец...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




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


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

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