2016-03-03 2 views
0

У меня есть веб-сайт, который использует API eBay для загрузки всего на eBay и все остальное.jquery для загрузки страницы PHP, пока страница PHP работает

Основными файлами являются PHP, которые просто включены в один файл, который вызывает скрипты, когда это необходимо.

Но теперь я создаю простой веб-сайт, который будет разделен на середину половины, содержит ссылки на скрипты, а другой - пустой пустой div, который загружает содержимое из файлов PHP и отображает это в пустой div.

Поскольку php-файлы в основном запускаются в циклах и могут выполняться в течение 5 минут, я хотел бы, чтобы сценарий отображал, что он сделал в пустом div.

На минуту я использую

while (@ob_end_flush());  
ob_implicit_flush(true); 

поэтому вывод PHP скрипты эхо-х до конца файла, но при использовании:

function loadScript() { 
    $(".loading").load("load.php"); 
    Loaddelay = setTimeout('loadScript()',1000); 
} 
loadScript(); 

В главном индексном файле, что ПЕРЕУСТАНОВКИ загружает файл каждые 1 секунду и ничего не показывает. поскольку сценарий не может работать.

Какие еще варианты имеют динамическое изменение контейнера div, так что он содержит запущенный скрипт PHP?

+1

Вы пытались использовать jQuery ajax? –

+1

@StijnBernards '$ (". Loading "). Load (" load.php ");' jQuery ajax. – neilsimp1

+4

Возможно, хотите использовать веб-сокеты вместо ajax – charlietfl

ответ

0

Если информация не является конфиденциальной или нечувствительной, вы можете сделать вывод о выходе сценария, который требует времени для выполнения в файл, и прочитать этот файл со своей страницы с помощью jQuery.load().

Таким образом, вы бы:

  1. Определить переменную сеанса, и сервер вашей страницы JavaScript знают (это определит имя файла, содержимое будет outputed к)
  2. Start Казнь длинный PHP-скрипт с jQuery.ajax()
  3. Прочитайте файл (имя которого определено ранее) с предопределенными интервалами, как в текущем скрипте
  4. Когда ваш длинный скрипт заканчивается, напишите специальный символ на конец вашего файла, чтобы вы остановили t он чтение файла от клиента

Обратите внимание, что вам нужно будет уточнить, как вы определяете переменные сессии, если пользователь должен был выполнить несколько страниц одновременно

0

в конце концов я понял, что Мне действительно не нужно было использовать jQuery для загрузки страницы, как я делал.

Я только что закончил использование iframe, который был помещен в div.

<a onclick="loadThis('page.php')">Do some thing</a> 

<script type="text/javascript"> 
function loadThis(file) { 
    $("myiframe").attr("src", file"); 
} 
</script> 

это прекрасно работает и лучше, чем ожидалось. не могу поверить, что я забыл использовать iframe.

Смежные вопросы