У меня есть сайт, созданный на PHP, который имеет как живую копию, так и тестовую/песочницу. Закончив работу над сайтом-песочницей и удовлетворившись тем, что у меня есть, я нажимаю кнопку с атрибутом onclick, чтобы скопировать код на работающий сайт с помощью функции Javascript. Мой код работает нормально, когда Javascript связывается с серверной функцией PHP с помощью блока кода fetch/then/catch:
Код: Выделить всё
await fetch(_url_of_site_and_name_of_PHP_file_receiving_the_javascript_request, {
method: 'POST',
body: 'mirrorsites',
headers: { 'Content-type': 'application/json; charset=UTF-8', },
}).then(response => response.text())
.then(data => {
console.log(data + '% of your site is done.');
}).catch(error => {
console.log('Whoops. Something went wrong.');
});
Короче говоря, мой код обрабатывает один вызов Javascript и один ответ PHP на этот вызов Javascript, но мне бы хотелось, чтобы он обрабатывал один вызов Javascript и регулярные обновления PHP.
Я еще не пробовал ничего, кроме исследования Google, потому что... ну... я даже не знаю, с чего начать. Как я могу заставить PHP отправлять периодические ответы и указать Javascript ожидать этих периодических ответов? Очевидно, что мое ключевое слово await для моей выборки будет ждать, пока все это не завершится. Но я боюсь, что если я удалю его, код Javascript выполнит вызов, продолжит работу и скажет: «Хорошо, вы на 100% готовы», в то время как на стороне PHP функция все еще работает. Кроме того, я использую тот же код Javascript fetch/then/catch для связи между клиентом и сервером для других целей, кроме копии сайта, которую мне нужно подождать.
Я сталкивался с вызовом php скрипт через регулярные промежутки времени с помощью javascript, но моя ситуация может отличаться по нескольким причинам: (1) мой Javascript вызывает PHP один раз и ожидает, что PHP ответит несколько раз (вместо того, чтобы Javascript вызывал PHP несколько раз и ожидал ответа один раз за вызов), (2) PHP дает Javascript ответ с возвратом $returnvalue; вместо оператора echo или print, как в другом сообщении. В сочетании с когнитивной дислексией, связанной с решением проблем/рассуждением, различия и сходства между моей проблемой и той, что описана в другом посте, заставляют меня кружиться голова.
Может ли кто-нибудь указать мне на суть проблемы? правильное направление, как я могу это сделать, или даже сказать мне, правильно ли я это делаю или мне следует изменить свой код, чтобы он соответствовал другому сообщению? Я бы предпочел не менять код, поскольку, как я уже сказал, связь Javascript/PHP используется для связи клиент/сервер, а не для копирования сайта. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/786 ... -intervals
Мобильная версия