![]() |
Модераторы: 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. |