Как запустить огромную обработку в фоновом режиме? - PullRequest
1 голос
/ 26 марта 2012

Я разработал приложение для анализа данных, т.е. доменное имя. Когда пользователь предоставляет 10 доменов, следующий код JavaScript работает нормально, но когда пользователь запускает анализ для 100 доменов, приведенный ниже код не работает. Я использовал javascript для перенаправления на другую страницу через 3 секунды после отправки формы, поскольку обработка задания назначения занимает не менее 1 минуты.

function submitForm(){
        document.form1.button2.click();
    var t=setTimeout("redir()",3000);
    }
  function redir(){

       window.location.href = '<?php echo base_url();?>menu/showmsg';

  }

Когда это небольшая задача, она работает нормально, но если большой файл для обработки javascript не работает, он ждет, пока задача завершится со стороны PHP. Есть ли какая-либо опция в AJAX или JQUERY или любой лучший код в JavaScript?

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

Вы можете отправлять все запросы асинхронно, используя, например, jQuery.ajax (url [, settings]).

Вот документация: http://api.jquery.com/jQuery.ajax/

$.ajax({
    url: '<?php echo base_url();?>menu/showmsg',
    error: function(){
        return true;
    },
    success: function(msg){ 
        // make what do you want
    }
});
0 голосов
/ 26 марта 2012

Простой способ - использовать iframe на целевой странице, которая запускает php.Страница загрузится, и iframe будет ждать страницу php.Вы можете использовать некоторый javascript для проверки изменений или пометки в iframe для продолжения процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...