Написание PHP-кода для обработки изображений с помощью ajax на веб-интерфейсе.PHP - PullRequest
0 голосов
/ 17 августа 2011

У меня есть сценарий, который принимает форму и отправляет ее в php с помощью jquery ajaxSubmit.

На стороне сервера необходимо скопировать изображение из одного места в другое.использование этого кода copy($img_dir_file,$mini_dir_file); нормально, если у вас мало изображений.

Но если у вас есть, скажем, 20+ изображений, php работает медленно и реагирует на ajax перед завершением своей работы.Таким образом, Ajax меняет содержимое на пустую страницу, потому что результат не готов.

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

Так что, пожалуйста, скажите мне, что я долженделать с этой проблемой?

скрипт как то так

$('#save_edited_article').live('click',function(){
$('#edited_article_form').ajaxSubmit({
success: function(responseimage){
$('#main_content').html(responseimage) } }); });

Ответы [ 3 ]

2 голосов
/ 17 августа 2011

Вы можете использовать Promise, который будет информировать браузер о завершении задания.

Проверить jqXHR Object как часть Ajax на JQuery - вы можете затем изменить свойосновное содержимое, когда объект jqxhr (который работает как Promise) завершен:

jqxhr.done(function(){ $('#main_content').html(responseimage); });

Редактировать

Примером использования вашего кода может быть:

$("#edited_article_form").submit(function() {
    var jqxhr = $.post(
        "foo.php",
        $("#edited_article_form").serialize()
    );
    jqxhr.fail(function(){ alert("fail") });
    jqxhr.done(function(responseimage){ $('#main_content').html(responseimage) });
});

Отказ от ответственности: Он был написан на лету и может не компилироваться.Это только для примера

0 голосов
/ 20 августа 2011

Обновлен плагин jQuery и ajaxSubmit, и все работает хорошо.

0 голосов
/ 17 августа 2011

Попросите AJAX-вызов проверить, завершен ли он, если нет, продолжайте опрашивать каждые несколько секунд, пока он не будет готов.

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