Помогите! Серверный JS
Пожалуйста, помогите с переадресацией запроса.
Есть клиентское приложение (MIDP), посылающее GET запросы на сервер, и получает оттуда ответ в XML. Необходимо перенаправить запрос на внешний сервер и полученный от внешнего сервера XML (той же стурктуры) снова отдать запрашивающему приложению. Вадим P.S. Было предложен вот такой скрипт, который, к сожалению, не работает... <script language="VBScript" runat=Server> function getResults() Dim xmlDOC Dim bOK Dim HTTP Set HTTP = CreateObject("MSXML2.XMLHTTP") Set xmlDOC =CreateObject("MSXML.DOMDocument") xmlDOC.Async=False HTTP.Open "GET","http://m.tele-club.ru/rasspisanie/modules/exp_xml.php?m=exp_xml&idu=91&idf=94&idg=66&d=2009-08-31", False HTTP.Send() bOK = xmlDOC.load(HTTP.responseXML) response.write(bOK) </script> |
Цитата:
|
простите! Конечно в скрипте ошибка - это не тот скрипт :(
Вот на JS: <script language="javascript" runat="server"> var xmlhttp; function loadXMLDoc(url) { xmlhttp = null; if (window.XMLHttpRequest) {// Для всех браузеров кроме ослов 5 и 6 xmlhttp = new XMLHttpRequest(); } else if (window.ActiveXObject) {// для IE5-6 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } if (xmlhttp != null) { xmlhttp.onreadystatechange = state_Change; xmlhttp.open("GET", url, true); xmlhttp.send(null); } else { alert("Your browser does not support XMLHTTP."); } }; loadXMLDoc("http://m.tele-club.ru/rasspisanie/modules/exp_xml.php?m=exp_xml&idu=91&idf=94&idg=66&d=2009-08-31"); Response.Write(xmlhttp.toString()); </script> |
кстати, ни тот ни другой не работают :)
|
а Response.Redirect не подходит почему?
|
Прямая переадресация запрещена MIDP. Ответ может быть получен только от сервера, к которому происходит запрос.
|
ну так этот сценарий, как я себе представляю, на клиенте, а не на сервере выполняться должен. И соответственно на клиенте объекта Response нету. И результат запроса можно получить в функции state_Change, которая тоже должна быть клиентской
p.s. и переадресации никакой я тут не вижу. Вижу ajax-запрос. Да и не серверный js это, если я правильно понял |
Нужен именно серверный вариант.
Показанный текст - это предложенный вариант. Он неправильный. В серверном, как минимум, нет объектов window :) |
Буду благодарен за работающий код на JS или VBS!
Можно для этой цели открыть проект на weblancer или в другом подходящем месте. Или просто сказать свой WM. |
Цитата:
|
swa, а с клиента ajax-запросы выполнять нельзя?
|
не знаю, что это такое...
может и сгодится )) |
Цитата:
|
нет, с клиента никак нельзя.
Клиент общается только с "родным" сервером. А там происходит определение необходимости переадресовки запроса на внешний сервер. И уже оттуда полученный ответ отдается. |
а где тут переадресация? Переадресация это когда клиент обращается, например, к своему серверу, а он говорит, не сходи на другой сервер, клиент идет на другой сервер и там уже получает нужную информацию
А у тебя клиент обращается к своему серверу, сервер сам получает информацию с другого сервера и отдает клиенту server.transfer действует в пределах одного сервера, насколько я знаю если с клиента нельзя отправлять запросы на внешние сервера, то тебе нужно на сервере найти какой-нибудь класс, который позволяет выполнять внешние запросы, т.е. типа http-клиент p.s. в принципе xmlhttp можно использовать в синхронном режиме, так что может это он и есть. Но в твоем случае он написан для выполнения на клиенте и для работы в асинхронном режиме (а это в твоем случае не нужно) |
согласен!
только мне нужно, то, что я говорю, пусть без перенаправления (фиг с ним), но с получением данных от внешнего сервера. В JS я однако не силён, что в общем-то видно. Но вот за совет, а лучше за пример скрипта такого рода буду признателен. |
Прикреплен: RssReader.zip
Я его не использовал, но судя по названию может вам пригодится. |
Riim, да, похоже оно:
Код:
XmlDocument doc = new XmlDocument(); |
Цитата:
|
Цитата:
swa, Кстати Server.Transfer не подошел получается? Он вообще в asp есть? А то я с ним только в asp.net столкнулся, да и то 1 раз. |
так это .Net...
на сервере нет .Net - только чистый ASP Или JS. |
А, что мешает организовать Net ?
Цитата:
http://ru.wikipedia.org/wiki/Active_Server_Pages |
я даже не знаю где на msdn про чистый asp :blink: хотя я, конечно, так много с asp (даже если .net сюда включить) работал... ;)
|
Судари, так почему бы не сделать на JS?
Ведь об этом речь с самого начала... Кто просто может помочь с JS. В долгу не останусь. |
а js сам по себе что ли работает? Нет. Под управлением веб-сервера. Причем в составе asp в данном случае (а не asp.net), не сам же по себе. А с asp я не работал и не знаю где по нему документация (не нашел на сайте ms), только по asp.net. Хотя может через COM XmlDocument можно создать
p.s. какой iis, кстати? Я так понял, что asp.net появилась с iis 6.0 |
Цитата:
x-yuri тебе даже нужные строки нашел. Цитата:
http://yandex.ru/yandsearch?text=asp+загрузка+xml На второй позиции: http://xmlhack.ru/forum/xml/topic905.html |
Спасибо!
Сделано. |
Часовой пояс GMT +3, время: 18:44. |