Проверьте, доступны ли веб-страницы с помощью php, и обновите их с помощью ajax. - PullRequest
0 голосов
/ 18 апреля 2011

На данный момент у меня есть одна функция, чтобы проверить, доступна ли веб-страница. Я буду вызывать эту функцию примерно 100 раз в цикле while, а это значит, что иногда для проверки всех этих 100 веб-страниц требуется 5 минут. Я никогда раньше не использовал ajax, но я думаю, что было бы неплохо решить эту проблему с помощью ajax, но я никогда раньше не использовал ajax и понятия не имею, с чего начать. Не могли бы вы дать мне хороший совет? Спасибо за каждый ответ!

Ответы [ 3 ]

1 голос
/ 18 апреля 2011

Я бы использовал jquery-ajax, это упрощает. Поэтому для начала установите jquery на свой сайт.

Вот как работает jquery ajax:

$.ajax({
    type: 'POST',
    url: '--LINK TO PHP/ASP...---',  // Place the link that has the command
    data: dataString,  // dataString is a json encode of the data that is sent to the file
    dataType : 'json',
    beforeSend:function(){
        // Before you send the info, do what you want here (ie loading gif...)
    },
    success:function(data){
        // If it is successful, then it will do what you want here.         
    }
});

Надеюсь, это поможет.

0 голосов
/ 18 апреля 2011

Из вашего (несколько некорректного) описания я бы сказал, что использование AJAX для управления проверкой веб-сайта было бы крайне неподходящим подходом.

Вместо этого, более разумным подходом будет «пакетная обработка» данных веб-сайта с помощью сценария PHP, запускаемого cron.

Таким образом, после того, как вы вставите соответствующуюдомены в таблицу базы данных с флагом «обработано», установленным как false, фоновый скрипт затем:

  1. Сканирует базу данных на веб-страницы, которые не отмечены как проверенные в течение требуемого времениperiod.

  2. Выполнение поиска CURL и т. д.

  3. Обновите запись базы данных в соответствии с текущей отметкой времени.

    ...

Чтобы не перекрывать существующий исполняемый скрипт пакетной обработки, вы должны вызывать php-скрипт каждые пять минут из cron и (в самом PHP-скрипте) проверять, как долгоскрипт запускается в начале этапа «сканирования» и завершается, если он работал в течение четырех минут или дольше.(Возможно, вы захотите изменить эти цифры, но, надеюсь, вы поймете, куда я иду с этим.)

Используя этот подход, вы сможете оставить фоновый скрипт на неопределенный срок (так как он вызывается).через cron он автоматически запускается после перезагрузки и т. д.) и просто добавляет веб-страницы в базу данных / просматривает результаты обработки и т. д. через отдельный веб-интерфейс.

Конечно, вы можете использовать AJAXдля регулярного получения сводной информации о текущем состоянии из базы данных для отображения на стороне клиента.

0 голосов
/ 18 апреля 2011

Я бы посоветовал вам использовать JQuery Ajax , более простой в реализации.

$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    $(this).addClass("done");
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...