Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AJAX передача данных с сервера на сервер, AJAX передача данных с сервера на сервер 
:(
    Опции темы
GrizliK
Дата 1.2.2010, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго вечера. 
Вопрос вот в чем: есть сайты 

example1.ru 

и example2.ru

на example1.ru перед </body> стоит код
Код

<script type="text/javascript" src="http://example2.ru/loadCodeAJAX.js"></script>
<script type="text/javascript">document.onload=getData();</script>


а на example2.ru собственно и хранится файл loadCodeAJAX.js
Код

var xmlHttp = getHTTPRequestObject();
function getHTTPRequestObject() {
  var xmlHttpRequest;
  if (!xmlHttpRequest && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlHttpRequest = new XMLHttpRequest();
    } catch (exception) {
      xmlHttpRequest = false;
    }
  }
  return xmlHttpRequest;
}

function getData() {
    if (xmlHttp) {
        xmlHttp.open("GET", "http://example2.ru/getData.php",true);
        xmlHttp.onreadystatechange = processGet;
        xmlHttp.send(null);
    }
}

function processGet() {
    if ( xmlHttp.readyState == 4) {
        // если статус равен 200 (OK)
            alert("I'm here before 200!!!");
        if ( xmlHttp.status == 200) {
            alert("I'm here!!!");
        }
    }


Проблема в том что радостно выведется "I'm here before 200!!!"
а "I'm here!!!" так и не появится(на радость первому сообщению))))

При проверке выяснилось что xmlHttp.status=0.

Что необходимо поменять чтобы скрипт заработал как надо???
PM MAIL   Вверх
IDVsbruck
Дата 1.2.2010, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ничего. Вне зависимости, откуда был скачан скрипт, из песочницы хода нет. Есть варианты с jsonp, но это только когда клиент и второй сервер наверняка взаимодействуют и девелопер может вносить изменения в код на свое усмотрение.
Поэтому наиболее частым и удобным является проксирование запросов через свой сервер. То есть запросы отсылаются своему серверу, а он связывается с любым, так как ограничений нет. Полученный ответ возвращает клиенту.
PM MAIL   Вверх
GrizliK
Дата 1.2.2010, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо за отклик.

Как вы понимаете первый раз столкнулся с такой проблемой.

А каким образом можно проксировать запросы???

Может есть полезные статьи на заметке???
PM MAIL   Вверх
IDVsbruck
Дата 2.2.2010, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ну, к примеру, у меня сервер на Java. При получении запроса, который распознается как запрос для другого сервера, устанавливаю соединение с удаленный сервером и шлю ему запрос согласно полученного и ожидаю ответ. При получении ответа формирую ответ клиенту.
Наверняка можно осуществлять прямое проксирование, без считывания запросов и формирования запросов, но тут я не помогу, так как такой вопрос не ставился - с клиентом был свой протокол взаимодействия, а с удаленным сервером - свой. Думаю, подскажут. Хотя в той же Java встречал классы и интерфейсы, который явно работают с прямым проксированием запросов.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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