Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
0 Всего найдено: 12
uni-sj Сообщение 15/09/2010 07:13 Копия темы
Как написать такой ajax запрос? Существуют 2 сервера. На первом висит сайт, на втором градусник (температура на улице). На первом сервере (на сайте) я хочу разместить температуру, с помощью JavaScript. Но проблема в том, что первый сервер не имеет доступ ко второму серверу, а люди посещающие сайт – имеют доступ к обоим серверам. Поэтому нужно как-то сформулировать код который будет отдавать запрос на получение температуры не от сервера, а от пользователя. Помогите пожалуйста с написанием. :)

Вот такой код у меня был пока был доступ между серверами.
  


<script>  
        function show()  
        {  
            $.ajax({  
                url: "172.32.1.101/temperature....", 
                cache: false,  
                success: function(html){  
                    $("#temp").html(html);  
                }  
            });  
        }  
      
        $(document).ready(function(){  
            show();  
            setInterval('show()',60000);  
        });  
</script>

TweeKane Сообщение 15/09/2010 08:05 Копия темы
Стандартными средствами этого сделать нельзя. Потому что XmlHttpRequest работает в пределах только одного домена. Такое ограничение сделано с целью повышения безопасности браузеров.
TweeKane Сообщение 15/09/2010 08:07 Копия темы
Как вариант можно воспользоваться тегом script. Он позволяет загрузить скрипт с любого сервера. 

Есть и другие, местами довольно странные техники. Например developer.yahoo.com/yql/
segoddnja Сообщение 17/09/2010 11:56 Копия темы
Самый простой вариант – проксирование. Делаем запрос на родной сервер, с которого грузится страница. А сервер уже запрашивает данные у второго сервера, с температурой, и возвращает их скрипту.
uni-sj Сообщение 17/09/2010 15:53 Копия темы
В итоге так и сделал.
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() и в ответ получаете калбек – вызов функции. Предусмотрительно создав у себя такую функцию вы получаете данные, которые в неё передаются.

например bashtannik.wordpress.com/...
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("172.32.1.101/temperature....
echo $temperature
?>
*******************************************

Теперь суть такая:
Если между серверами опять не будет доступа, то сайт всё-равно полностью загрузится, только без температуры.
uni-sj Сообщение 18/09/2010 08:33 Копия темы
Плюс еще собрал скрипт который берет эту температуру и загружает её на удаленный FTP сервер. Это нужно для того, чтобы на сайте в интернете появлялась наша температура.

**************************************
<?php
// Качаем и сохраняем температуру
$id = '172.32.1.101/temperature.... // Тут урл
$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

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"