Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отправить аякс-запрос на другой домен? 
:(
    Опции темы
Wowa
Дата 28.2.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

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



Как отправить аякс-запрос на другой домен?
PM WWW   Вверх
unicross
Дата 28.2.2009, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Может поможет
http://forum.vingrad.ru/forum/topic-247918.html
Классически - перенаправление запроса с помощью CURL, сокетов с домена запустившего скрипт с AJAX.
PM MAIL WWW   Вверх
ksnk
Дата 28.2.2009, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Ну, или на другом домене тебя должны "ждать" - отдавать контент в json'е...

Это сообщение отредактировал(а) ksnk - 28.2.2009, 23:58


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
nerezus
Дата 3.3.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

Как отправить аякс-запрос на другой домен?


Код

var HAJS = new Object();
HAJS.counter = 0;
HAJS.requests = Array('');

HAJS.addRequest = function() {
    this.requests.push(++this.counter);
    return this.counter;
}

HAJS.get = function(url, params, callback) {
    var id = HAJS.addRequest();
    var delimiter = (url.indexOf('?') == -1) ? '?' : '&';
    url += delimiter + 'hajsid=' +id;
    if (params != '') {
        url += '&' + params;
    }
    //alert(url);
    $.getScript(url, function() {
        data = HAJS.requests[id];
        //alert(data);
        callback(data);
    });
}


Код

function hajs_escape($script) {
    $script = str_replace("'",  "\\'", $script);
    $script = str_replace("\n", "",    $script);
    $script = str_replace("\r", "",    $script);
    return $script;
}

function hajs_start() {
    ob_start();
}

function hajs_end() {
    $result = ob_get_contents();
    ob_end_clean();
    $script = '';
    if (preg_match_all('/<script>(.*?)<\/script>/s', $result, $matches, PREG_PATTERN_ORDER)) {
        $script = implode(';', $matches[1]);
    }
    $result = preg_replace('/<script>(.*?)<\/script>/s', '', $result);
    $result = hajs_escape($result);
    $id = intval($_GET['hajsid']);
    echo "var id = $id;\n";
    echo "HAJS.requests[id] = '$result';\n";
    $script = hajs_escape($script);
    echo "setTimeout('$script', 10)";
    exit;
}



HAJS.get юзаешь для запроса, а код ответа в hajs_start() и hajs_end() засовываешь =)

P.S. Способ хорош тем. что можно отправлять в ответе куски с тегом <script> и т.д. вещи.

Это сообщение отредактировал(а) nerezus - 3.3.2009, 15:01


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




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


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

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