|
0 Всего найдено: 12
uni-sj
Сообщение
15/09/2010 07:13
Копия темы
Как написать такой ajax запрос? Существуют 2 сервера. На первом висит сайт, на втором градусник (температура на улице). На первом сервере (на сайте) я хочу разместить температуру, с помощью JavaScript. Но проблема в том, что первый сервер не имеет доступ ко второму серверу, а люди посещающие сайт имеют доступ к обоим серверам. Поэтому нужно как-то сформулировать код который будет отдавать запрос на получение температуры не от сервера, а от пользователя. Помогите пожалуйста с написанием. :) Вот такой код у меня был пока был доступ между серверами.
TweeKane
Сообщение
15/09/2010 08:05
Копия темы
Стандартными средствами этого сделать нельзя. Потому что XmlHttpRequest работает в пределах только одного домена. Такое ограничение сделано с целью повышения безопасности браузеров.
TweeKane
Сообщение
15/09/2010 08:07
Копия темы
Как вариант можно воспользоваться тегом script. Он позволяет загрузить скрипт с любого сервера. Есть и другие, местами довольно странные техники. Например
segoddnja
Сообщение
17/09/2010 11:56
Копия темы
Самый простой вариант проксирование. Делаем запрос на родной сервер, с которого грузится страница. А сервер уже запрашивает данные у второго сервера, с температурой, и возвращает их скрипту.
povd
Сообщение
18/09/2010 07:49
Копия темы
Не совсем так. XmlHttpRequest работает с доменов с которых разрешено ) То есть достаточно сделать например калбек и будет работать с любого домена на котором ответ соответствует запросу.
povd
Сообщение
18/09/2010 07:55
Копия темы
Ну и зря ) $.getJSON("сторонний домен"); Ответ: get_temp({"t" : 25}); function get_temp(data) { alert(data.t); }
uni-sj
Сообщение
18/09/2010 08:08
Копия темы
Это кусок кода или полный? Я не очень шарю в яваскрипте, если честно.
povd
Сообщение
18/09/2010 08:13
Копия темы
Ну суть такая: вы отправляете на сервер запрос getJSON() и в ответ получаете калбек вызов функции. Предусмотрительно создав у себя такую функцию вы получаете данные, которые в неё передаются. например
uni-sj
Сообщение
18/09/2010 08:27
Копия темы
Вообщем сейчас у меня система такая. В шаблоне сайте вписан такой код: ******************************************* <script> function show() { $.ajax({ url: "temp.php", cache: false, success: function(html){ $("#temp").html(html); } }); } function Init(){ show(); setInterval('show()',60000); }; </script><div id="temp"><img src="/images/loading1.gif" align="middle"></div> ******************************************* В дивах картинка с загрузкой крутится, исчезает как только загрузятся данные с temp.php. А в temp.php прописано следующее: ******************************************* <?php $temperature = file_get_contents(" echo $temperature ?> ******************************************* Теперь суть такая: Если между серверами опять не будет доступа, то сайт всё-равно полностью загрузится, только без температуры.
uni-sj
Сообщение
18/09/2010 08:33
Копия темы
Плюс еще собрал скрипт который берет эту температуру и загружает её на удаленный FTP сервер. Это нужно для того, чтобы на сайте в интернете появлялась наша температура. ************************************** <?php // Качаем и сохраняем температуру $id = ' $savefile = 'temp4inet.txt'; // Путь куда сохранять $ch = curl_init ($id); $fp = fopen ($savefile, "w"); curl_setopt ($ch, CURLOPT_FILE, $fp); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_exec ($ch); curl_close ($ch); fclose ($fp); // FTP данные $file = 'temp4inet.txt'; $fp = fopen($file, 'r'); $ftp_server = 'domain.ru'; $ftp_login = 'login'; $ftp_password = 'password'; $conn_id = '21'; $ftp_root = '/httpdocs/'; // FTP соединение $conn_id = ftp_connect($ftp_server); $login_result = ftp_login($conn_id, $ftp_login, $ftp_password); if (!$conn_id || !$login_result) exit("Не удалось установить соединение с FTP сервером!\nПопытка подключения к серверу $ftp_server!"); else echo "Установлено соединение с FTP сервером $ftp_server<br />"; // Закачка файла if (ftp_fput($conn_id, $ftp_root . $file, $fp, FTP_ASCII)) { echo "Файл $file\n загружен усмешно"; }else{ echo "Проблема закачивания файла $file\n"; } ?> ************************************** А в шаблоне вставляем тот же самый Javascript, только меняем temp.php на temp4inet.txt.
uni-sj
Сообщение
18/09/2010 08:34
Копия темы
0
Проверьте пожалуйста. Код работает, но может в нем есть что-то лишнее. |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |