![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| JaguarSmith |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: нет Всего: 1 |
Я собственно задал вопрос сначала здесь, но похоже, что никто в ASP.NET не сталкивался с этой проблемой... Задача простая есть веб-сервис - http://www.jaguarsmith.ru/GuestBook/JGuestBook.asmx и надо получить результат функции GetBooksSize("granpik") из javasript`а... На локальном сервере всё просто делается через POST - http://localhost/jaguarsmith/GuestBook/JGuestBook.asmx/GetBooksSize?BookName=granpik но вот на сервере такой вариант отказывается работать категорически! Зы. Я использую код из книги AJAX в действии:
Это сообщение отредактировал(а) JaguarSmith - 26.6.2006, 20:08 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
JaguarSmith, необходимо что бы твоя страница, что аяксом книгу дёргает, лежала тоже в домене www.jaguarsmith.ru. Иначе никак, политика безопасности. ИЕ ещё позволял другие домены опрашивать, но после SP2 по моему уже нет.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| JaguarSmith |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: нет Всего: 1 |
Нее!!!
Во-первых она и лежит: http://www.jaguarsmith.ru/guestbook/default.aspx (собственно вебсервис сообщает клиенту что введены новые записи и надо обновить страницу) Во-вторых тут непонятен сам механизьм обращения к сервису... Я щас пытаюсь вычитать в ATLAS - реализация аякса для платформы .NET - но я, мягко говоря, не очень силён в javascript поэтому дело идёт со скрипом еле-еле |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
А без разницы Кстати страница у тебя в UTF-8, а скрипты в левой кодировке, будут кракозябры. А что не ясно? XMLHttpRequest может делать обычные запросы и подгружать XML. Другими словами можно сделать полноценный запрос к вебсервису (SOAP), правда это редко кто делает, все грузят что придёт и обычно текстом, а не XML У тебя заметил функцию ajax_XML2Text, ты глянь на неё и подумай зачем тебе строить XML если ты только текст берёшь? Или в ASP.Net вебсервисе по дефолту всегда XML отдаёться (кто тогда словарь задаёт?). Весело твой сервер советы даёт: http://www.jaguarsmith.ru/GuestBook/JGuest...op=GetBooksSize -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| JaguarSmith |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: нет Всего: 1 |
Кракозябров не буит!
тем неменее работает! Ответ всегда выдается ввиде XML например вот так:
Кстати ответ об ашипке тоже выдается в XML...
Это сообщение отредактировал(а) JaguarSmith - 27.6.2006, 01:47 |
||||||||
|
|||||||||
| Sardar |
|
||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Посоветовал бы XPath, но он зараза под мозиллу больно долгую прелюдию хочет (много кода), а элегантный selectNode только в ИЕ есть. В инете гуляет несколько скриптов прикручивающих selectNode к мозилле и вообще всем W3C compatible браузерам. Попробуй, удобно из ответа инфу вытаскивать, а не этим топорным методом как у тебя сейчас
Для этото разбираемся что есть SOAP, примеры запросов твой сервак сразу же и показывает (HTTP запрос как есть):
Советую на время сесть только под ИЕ, поплясать немного, а затем уже либо писать самому, либо брать строронюю либу оборачивающую XMLHttpRequest кроссплатформено. На время забей на ошибки сети (в релизе отлавливай ошибки! не уподобляся половине либ, что виснут при ошибках Вкуриваем это Теперь врубаемся что open нужно вызывать с POST что бы выполнить POST запрос, а в send указать SOAP вызов (тот XML что в примере). В ответ придёт это (HTTP ответ как есть):
Ты этого всего не видишь, XMLHttpRequest делает всё за тебя сам, ты получаешь responseXML у которого .selectNodes("//GetBooksSizeResult/text()") и получаешь содержимое. В этом и есть его мощь, возможность делать HTTP запросы удобным способом, потому и пользуеться повсеместно и в простых прогах. Естественно можно пойти дальше и написать стили XSLT (transformNode, опять же элегантная ИЕ фича, у других масса кода), что бы генерить контент по ответу сразу, без скриптов как это делают люди не знающие В итоге: XMLHttpRequest компонент позволаяет делать HTTP запросы и получать ответы. Тело запроса можно указать самому, тело ответа можно получить как текстом, так и распарсеным DOM деревом. Отсюда получаеться что посредством XMLHttpRequest можно опросить что угодно что понимает HTTP запросы, конечно с ограничением по домену. В теле запроса могут быть просто пары, как это кодирует форма со странички посылая POST запрос, либо XML для всебсервиса, либо вообще url-encoded файл если сумеешь его прочитать/сгенерить Для общего развития: http://msdn.microsoft.com/library/en-us/dn....asp?frame=true -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||
|
|||||||
| JaguarSmith |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 16.1.2005 Репутация: нет Всего: 1 |
Баальшое спасибо!
Пашел вкуривать! Надеюсь торкнет! |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |