![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| silvek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.4.2008 Репутация: нет Всего: нет |
Добрый день!
Я программирую аякс-приложение. Смысл которого заключается в загрузке информации с удаленных серверов, взаимодействии с пользователем. Ограничение аякса(или java-script) в том, что оно примет данные только если хост отправителя тот же что и текущий. Т.е. если мы взяли данные с этого же сайта. Мне требуется проводить обмен данными с другими серверами(которые предоставляют разные службы). Итого, вопрос: как обойти указанное ограничение или как сделать аякс приложение, которое смогло бы взаимодействовать с удаленными узлами в интерактивном режиме(а не только загрузка данных)? |
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 1 Всего: 54 |
Думаю такой вариант должен работать безотказно:
Перетранслировать запросы на другие сервера через свой сервер. Т.е. посылаете запрос на свой сервер, а там уже куда нужно обращаетесь. -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| silvek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.4.2008 Репутация: нет Всего: нет |
Да, это я прекрасно понимаю =)
Но это неудобно. Клиенты должны вставить небольшой код на сайт(как статистики счетчик) и работать с приложением. Указанный вариант я рассматривал, но он доставит клиенту дополнительные затруднения, тем более это по соображениям безопасности не каждый позволит сделать. Я ищу решение обхода огрничения на JS, без применения обходных путей на том же сервере. Решение должно быть! |
|||
|
||||
| mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 1 Всего: 54 |
Не вижу никаких затруднений. Либо я чего-то не понял в вашем вопросе, либо вы чего-то не так делаете. Объясните подробнее, что вам необходимо?
Если вы ищете решение исключительно на JS, то вам наверное надо обратиться с соответствующий форум. -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: нет Всего: 67 |
Что-то я не могу понять в чем проблемма... Вы хотите предоставлять некий сервис, т.е. пользоватьель, вставляя ваш код, должен получать возможность работы с вашим сайтом. Ну так если js загружен с вашего сайта, то и для системы безопасности он будет "своим".
Ну а если нужно работать со стороними сайтами, то все зависит от них. У многих сайтов, ориентированных на предоставление сервисов есть JSON интерфейс. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| silvek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.4.2008 Репутация: нет Всего: нет |
Проблема начинается когда я хочу вставить полученный код в див или еще куда.
Для первой загрузки именно таким образом я и загружаю код. ЗАтем если я хочу по нажатию на ссылку загрузить еще чегонибудь я использую скрытый фрейм по типу <a href=PATH target=hidden_frame_name>load something</a> Вот теперь результат запроса без перезагрузки страницы попадет в скрытый фрейм. Но нам надо вывести его на страницу из фрейма. Для этого я использую конструкцию вида parent.return_data('ЗДЕСЬ ПОЛУЧЕННЫЙ ХТМЛ КОД'); Так вот такая конструкция(опытным путем доказано) работает на страничках того же хоста и не работает на других хостах. Что же мне делать? |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
Пусть пользователь разместит скрипт на том хосте где он должен работать.
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| silvek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.4.2008 Репутация: нет Всего: нет |
Могу доказать свои слова так:
Вот код для вставки(к примеру):
Вы можете вставить его в любую вашу хтмл страницу даже на локальной машине и он загрузит "первую" страничку. Далее если нажать "Скачать случайную цитату", он уже не вернет ничего. Хотя совершенно такой же код, размещенный на том же сервере сработает http://k.mytools.su/ajax/test/ . Почему так? (Зайду с другой стороны вопроса.) Добавлено через 1 минуту и 9 секунд Fortop, ну это, я повторюсь, не самое удобное решение. Хотя, если я буду в тупике - выбора у меня не будет. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
вопросы безопасности. установить значение value у input type="file" прочитать файл на компьютере пользователя загрузить при помощи XKMHTTPRequest данніе с другого домена Это все нереализуемо на "обычном" браузерном javascript. не могу заявить, что везде так(вполне вероятно, что некоторые "дырявые" версии браузеров не проверяли на соответствие домен, куда идет запрос, и текущий домен), но думаю, что стоит найти другое решение(означенный вариант с работой через свой сервер, на самом деле, не так уж и "сложен"; я, по крайней мере, сложности не вижу), чем городить непонятные огороды для 1% всех возможных версий всех браузеров. |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
У тебя всего 2 варианта, и все их перечислили. Так что выбирай. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: нет Всего: 386 |
А дело не может быть в кэшировании странички? если посмотреть обмен заголовками с сервером, не станет яснее? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| silvek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 8.4.2008 Репутация: нет Всего: нет |
Ок, всем спасибо! Буду использовать систему с работой через свой же сервер.
ksnk, нет. Везде посылаются антикеш заголовки. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: X технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |