Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Обращение к удаленному серверу


Автор: dimash1987 30.7.2008, 02:09
Здравствуйте. Ломаю голову над следующей темой.

Коротко:
Есть возможность использовать технологию Аякс с php файлами на удаленных сайтах?

Подробнее
Есть сайт на нем Яваскрипт код, который делает всякую ерунду, но ему надо записывать ip адрес посетителя в базу данных и проверять его наличие в базе данных. Через Аякс это делается легко, но вот проблема, на этом сайте не должно быть пхп файла. 

Я вот думал поковырять у счетчиками типа Спайлог или Гугл Аналитикс. Я ведь размещаю только Яваскрипт, каким образом они отсылают себе данные. Некоторые просто картинку ставят, урл которой является пхп файл, но мне еще и результат надо вернуть в виде String значения или хотябы true или false.

Если кто-то знает о чем я говорю, то мне хватит хотябы "тема" что искать. Я уже все перерыл в поисковиках, что мог придумать. Парился над HttpRequest, но понял что оно не катит.

Урл файла к примеру  www.site.ru/index.php?r=1213   - как от туда яваскриптом получить результат?

Надеюсь мой вопрос понятен.

Заранее спасибо.

Ps. Про политику безопастности уже узнал. Но как же делают тогда счетчики текстовые? Они же как-то отправляют к себе на сервер инфу?

Автор: bars80080 30.7.2008, 09:25
метод есть.
можно обращаться на чужой сервер картинкой. т.е. создаём объект obj = new Image();, затем меняем у него атрибут .src на нужный нам адрес, скажем пхп-файл отдающий картинку. смысл такой, что возвращает он изображение - прозрачный png с шириной 1 или 2 пикселя, которую можно прочитать. если 1 - значит да, если 2 - нет. в принципе, не вижу проблем, чтобы он возвращал и больше вариантов значений

это до-ajax'овский приём

Автор: dimash1987 30.7.2008, 09:32
О спасибо. Даже не подумал о том, что эти значения действительно можно вернуть размерами!
Мне это полностью подходит, но что если раскрыть тему... Каким образом, например, работает Google AdSense, они же возращают стринги. Фреймы использует? Я инспектирую код, но до сути дойти не могу.

Автор: bars80080 30.7.2008, 11:04
есть и более популярный метод - скрытый iframe, также меняем его .src и получаем какую-то информацию
наверно, он даже будет лучше image

Автор: dimash1987 30.7.2008, 20:49
Попробовал iframe, но пока не совсем понял как считать с него результат )

Автор: Sannis 30.7.2008, 21:18
Если его содержимое с другого домена, то никак. Имхо, в AdSense не то делается, вы уверены, что там через JS получается строка с сервера Гугла?

Автор: bars80080 30.7.2008, 21:19
как? не задумывался... этож тоже другой сервер, внутренние структуры не должны быть видны для javascript родительского документа.
интересно, что скажут остальные

Автор: dimash1987 30.7.2008, 23:03
Вот. Остальные на форуме это обсуждали и пришли к выводу что никак ).  Я использовал твою идею с картинкой - это оч. классная штука.

<img src="http://www.site.ru/script.php">  - в которой я создавал джипе определенной высоты в зависимости от результата. Это для меня теперь самый действенный способ. Самое приятное, что ПХП там обрабатывает все как надо включая АЙПИ адресе пользователя, а не сайта и тд. Все супер. Жаль что только размерами можно возращать резуьтаты ))))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)