在前端使用ajax编写用于图像处理的PHP服务器端代码.PHP


writing php serverside code for image processing using ajax on frontend. PHP

我有一些脚本,接受一个表单,并将其发送到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) } }); });

您可以使用Promise,它将在作业完成时通知浏览器。

查看jqXHR对象作为JQuery Ajax的一部分-当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) });
});

免责声明:本文是动态编写的,可能无法编译。例如,它仅用于

让AJAX调用检查它是否完成,如果没有,则每隔几秒轮询一次,直到它准备好。

更新了jQuery和ajaxSubmit插件,一切都很好。