Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2012, 22:25   #1
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию Загрузка ХТМЛ-страницы без участия пользователя

Добрый день. Есть следующая ситуация:
- пользователь браузером загружает страницу с веб-сервера
- пользователь вводит данные в ТЕКСТЭРИА и нажимает кнопку "Ввод", вызывает файл с обработчиком
- обработчик на РНР передает браузеру страницу "Ждите ответ" и переносит введеные пользователем данные в out.htm
- сторонний сервис(написан на ДЕЛФИ) подключается к веб-серверу и считывает данные из out.htm
- далее сервис обрабатывает данные, создает файл rating.htm и передает его на веб-сервер (через 3...30 мин)
все выше перечисленное уже работает
далее нужно чтобы страница "Ждите ответ" (которая открыта в браузере пользователя) при появлении файла rating.htm самостоятельно загрузила этот файл вместо себя

Вопрос: как это сделать? понятно что JS + таймер? но как конкретно. в поисковиках что то на эту конкретную тему ничего не нашел
Pcrepair вне форума Ответить с цитированием
Старый 30.08.2012, 07:44   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Таймер тут использовать глупо... Задача на кол-бэк: создаете аякс соединение, загоняете тайм-аут в 35-40 минут и... ждете.
Если не ошибаюсь, то на стороне сервера придется юзать таймер (cron) чтобы определить появление обновленного файла (или юзать поточные языки[фреймворки] типа perl, ruby, node.js).
Второй вариант без кол-бэка: использовать сокеты, но это для современных браузеров онли.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 30.08.2012, 10:56   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
создаете аякс соединение, загоняете тайм-аут в 35-40 минут и... ждете.
Половина браузеров слетит, апачь потеряет ответ, а PHP запутается с сессиями.
JS + таймер - это лучший вариант.
Виталий Желтяков вне форума Ответить с цитированием
Старый 30.08.2012, 11:09   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

А без сервиса никак? что он там такого хитрого аж на пол часа делает?
eval вне форума Ответить с цитированием
Старый 30.08.2012, 21:02   #5
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

Почти работает вот такой вариант:
ХТМЛ-страница со скриптом

Код HTML:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script> //подключаем фреймворк
<script>
    $.get( 'file_exist_control.php', function(data){ if (data == YES) { location.href = 'RatingPage.html';}});
</script>
</head>
<body>
<h1>Ждите ответа...</h1>
<body
</html>
ВЕБ-сервер^ file_exist_control.php

Проверка существования файла
PHP код:
<?php
$filename 
'RatingPage.html';

if (
file_exists($filename)) {
    
$data YES//как это передать в жаба-скрипт?
    
echo ($data);
    echo 
"<script language='javascript'>var data = $data;</script>"//это не работает
} else {
    
$data NO//это в общем не нужно
    
echo ($data);
}
?>
В общем не получается передать в скрипт YES из сервера. никто не в курсе как это прописать?
и на скрипт еще таймер нужно приделать (каждую секунду посылать запрос на веб-сервер о наличии файла, надеюсь это не позволит зависнуть браузеру и веб-серверу)
Pcrepair вне форума Ответить с цитированием
Старый 30.08.2012, 21:17   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

надо распонс проверять, и на статус и на данные
eval вне форума Ответить с цитированием
Старый 31.08.2012, 07:47   #7
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

вот еще что - все это делалось на Рс с ВЫНт 7 тля
сделал все то же самое на том же самом(АПАЧ+РНР) но только на ВЫНьХР - все работает, тля
никто не в курсе что с этой 7 не так?
Pcrepair вне форума Ответить с цитированием
Старый 01.09.2012, 01:42   #8
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Что с 7 не так? Это винь, она не предназначена для того, чтобы держать серв...
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 01.09.2012, 11:06   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Это винь, она не предназначена для того, чтобы держать серв...
скажем так, она может держать серв, но явно не юзерские версии винды, а серверные брать надо.

а вообще ТС, у вас на семерке может просто не стартанул сервер.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На компе творятся вещи, без моего участия ceplaeda Безопасность, Шифрование 17 17.09.2012 02:33
Выбор технологии перезагрузки ХТМЛ-страницы Pcrepair PHP 3 18.08.2012 23:04
существует ли софт, который помог бы мне закидывать файлы на сервер без моего участия? demon6661 Общие вопросы .NET 0 12.06.2010 20:57
Указатель меняется без моего участия... Lawliet32 Общие вопросы C/C++ 3 11.05.2010 19:12
Динамическое изменение URL страницы в JavaScript без перезагрузки страницы ilusha JavaScript, Ajax 7 25.02.2009 09:59