Intereting Posts
PHP: Как читать «Название» шрифта из файла .ttf? Сохранение php-вывода в файле Каков тип данных facebook userid MySQL PHP PDO подготовил заявления – проблемы производительности и безопасности Создание API RESTful и веб-сайта с PHP Firefox не поддерживает JavaScript (проверка формы), но IE полностью поддерживает Как сохранить изменение разметки, которое я сделал, при переходе с одной страницы на другую? использование массива в качестве источника данных для CGridView facebook api: подсчет посетителей для события (проблема с лимитом) Можно ли вызвать функции C в PHP в программе C? Как избавиться от исключения Unipot SoapFault: выглядит так, как будто у нас нет XML-документа в … "error Показать стоимость доставки на странице продукта – WooCommerce Ошибка proc_open при попытке запустить автозагрузку artisan Как переписывать и устанавливать заголовки одновременно в Apache Простой файл загрузки XML не работает

Интерактивная обработка файлов с использованием PHP, jQuery и Ajax

Я переношу старую программу MS-DOS Foxpro на cakePHP, но в некоторой части процесса приложения у пользователя будет возможность загрузить текстовый файл и обработать его в соответствии с некоторой бизнес-логикой.

Я работал над алгоритмом, и он работает нормально, я запрограммировал его на простом PHP.

Но в некоторых частях процесса пользователь должен взаимодействовать с выполнением некоторых задач, в простом PHP это возможно сделать.

Мой вопрос:

Как я могу создать интерактивный файловый процесс в среде MVC, поскольку контроллер обработал данные, когда он дает контроль над представлением?

Может помочь jQuery-ajax?

Как вы думаете?

С уважением

Обновить

Как указал Борислав Сабев, я делаю это:

Создайте загрузку файла с помощью: jQuery Form Plugin

Анализ файлов PHP по структуре данных загруженного файла, который возвращает клиенту анализируемое содержимое файла в JSON.

Затем данные JSON отправляются для обработки через ajax POST

$.each(data, function (i, fb) { callAJAX(fb); }); 

callAJAX просто отправьте запрос POST

 function callAJAX(fb){ $.ajax({ type: 'POST', url: "proc.php", dataType:"json", complete: function(r,st){ }, success: function(r,st){ processError(r); }) }, async: false }); } 

Если есть ошибка перевода, PHP возвращает клиенту сообщение об ошибке через JSON.

 function proccessError(r) { $.each(r,function(i,d){ if (d['error'] == 1){ $.alert('Material not found in translation table','Error'); } }) } 

Теперь большой вопрос:

Когда я открываю диалог $ .alert, я хочу, чтобы пользователь выбирал правильный материал с помощью автозаполнения, но код не ждет выбора пользователя и появляется другое окно $ .alert. Как я могу сказать jquery, чтобы ждать ввода пользователя, а затем продолжить обработку?

BTW: это расширение $ .alert, которое я использую:

 $.extend({ alert: function (message, title) { $("<div></div>").dialog( { buttons: { "Ok": function () { $(this).dialog("close"); } }, close: function (event, ui) { $(this).remove(); }, resizable: false, title: title, modal: true }).text(message) .parents(".ui-dialog:eq(0)").wrap('<div class="error-w"></div>'); } });