powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
10 сообщений из 10, страница 1 из 1
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36028570
eualexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Долго бился - добился может кому понадобиться
в XMLHTTPRequest есть ограничение залючающееся в том что нельзя отправить переменные на другой домен ,

Алгоритм такой:
1) нужно отправить переменные на свой же домен
2) переменные со своего домена переслать на тот домен куда хотим

отправили на свой домен функция грузилась onload="snt(); "
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<script>

	var ajax = null;
	ajax = new XMLHttpRequest();

function snt()
{
	var full_url=location.href;
	url="internalserver.php?full_url=" + full_url + "&r=" + Math.random();
	ajax.open("GET", url, true);
	ajax.send(null);
}
</script>
получили в своем домене и отправили дальше при помощи Snoopy.class.php

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 
//internalserver.php
        $remote_address = "http://www.anyaddress.com/grab.php"; //куда отправляем
        $full_url=$_REQUEST['full_url'];                                         //поймали то что отправлял xmlhttprequest
	require_once ("Snoopy.php");                                           //подключили класс (метод POST)
  	$s = new Snoopy();                               
  	$submit_vars=array();
  	$submit_vars["url"]	= $full_url;
  	$s->submit($remote_address, $submit_vars);                     //отправили переменную дальше
  	echo $s->results;

3) (мне надо было) выцепить их там из массива POST
Код: plaintext
1.
//http://www.anyaddress.com/grab.php
$full_url=$_POST['url'];


Здесь не предусмотрена обратная связь от удаленного домена.
...
Рейтинг: 0 / 0
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36028589
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 и 2 на пхп (причём на этом форуме пхп?) просто делается, а что значит "выцепить их там из массива POST"? Откуда он взялся? И чего нужно-то?
...
Рейтинг: 0 / 0
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36028652
TJivich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://ejohn.org/blog/cross-site-xmlhttprequest/

некоторые поддерживают
в вашем варианте есть только проблема одна - трафик хостинга не резиновый
...
Рейтинг: 0 / 0
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36028815
eualexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

пхп код пришлось выложить тут чтобы тот кто у кого возникла анналогичная проблема смог найти решение на 1 страничке. разбивать сие на 2 форума посчитал нецелесообразным.

основная идея поста - Решение отправки переменных ajax на другой домен.

TJivich

спасибо с удовольствием почитаю
...
Рейтинг: 0 / 0
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36028864
eualexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TJivich,

я так понял этот вариант работает только в третьей лисой?
...
Рейтинг: 0 / 0
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36028991
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запульнуть данные через реквест на свой собственный сервер (откуда страница грузилась) - понятное дело, нет проблем. Чтобы с сервера сформировать пост или гет на другой сервер - тоже без проблем. Единственная проблема - все известные мне бесплатные хостпровайдеры с пхп и перлом запрещают "исходящие соединения", т.е. на пхп запрещаются вызовы типа $str=file_get_contents ($MyURL); , где $MyURL - внешний урл. В перле для таких штучек библиотека lvp имеется.
А вот кроссдоменный аякс вполне можно использовать (потому что соединение не через сервер, а с загруженной юзером странички и конкретным хостом), ссылку не дам, примерчик - тоже. Боюсь некоторых здешних - обругают.
...
Рейтинг: 0 / 0
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36029023
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, есть даже слово заветное, которое Серж всуе не произносит уже. Но по большому секрету скажу - JSONP.
...
Рейтинг: 0 / 0
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36029735
eualexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

а вот насчет кроссдоменного ajax я долго бился и пришел к выводу что мир до этого ещё не дошел. возможно я ошибаюсь, т.к. занимаюсь сим недавно.
А перенаправил значения переменных я через класс Snoopy . Может быть также был не прав, но штука эта работает.
Если ступил особо не пинайте.
...
Рейтинг: 0 / 0
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36029759
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eualexey,

Ну правильно. Так и делают. Вместо снупи ещё текстовый браузер из-под командной строки юзают (сам пробовал-работает) - lynx, если на сервере его вызвать типа lynx <урл> -dump -nolist >куда-то там .
Только аяксом это не называется . Аякс работает со странички, которую уже клиент получил себе в браузер. XmlHttpRequest (впрочем, как и фреймы) работает только с "родным" доменом.
Зато(!) скрипты и картинки (да и стили, например) можно загружать откуда угодно. В скриптах могут содержатся все необходимые данные, которые встраиваются в страницу. Так, например, кроссдоменные гугловые штучки работают. Тот же гуглемапс.
Точно, IDVsbruck понял, что я имею ввиду.
...
Рейтинг: 0 / 0
JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
    #36029815
eualexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruckАга, есть даже слово заветное, которое Серж всуе не произносит уже. Но по большому секрету скажу - JSONP.

Тема интересна пойду курить мануал
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS+PHP: XMLHTTPRequest (same origin policy) или как запульнуть далеко переменные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]