javascript - 如何发送响应到ajax但保留procces php脚本

标签 javascript php ajax laravel

我对我的项目有一个想法,我使用 ajax 作为前面,使用 laravel 作为后面。

例如处理图像时。

处理图像的步骤是这样的。

  1. 上传图片
  2. 验证图像
  3. 压缩图像
  4. 完成

因此,在用户方面,我想显示报告每个 php 脚本已完成任务处理。

例如,当 php 完成上传图像时,我想向用户返回上传已完成的消息,然后下一步是验证图像等...

我知道的是,要返回对ajax的响应是通过使用

public function upload_image(Request $request){
    //script to upload image...
    return response()->json([
        'status' => 'true',
        'state' => '1',
        'msg' => 'upload image'
    ]);

    //script to checking images and more...
}

并且确保返回后这将停止继续过程。

有没有办法将响应返回给用户,但继续处理 php 脚本?

最佳答案

不,没有办法返回成功并继续执行脚本。

最常见的方法是使用队列和作业,请在此处查看更多信息: https://laravel.com/docs/5.8/queues

另一种方式取决于您的应用程序逻辑。如果您确定用户在成功后会留下来,您可以拆分您的请求,并在上传图像时返回图像标识符并做出另一个响应来对其进行操作,例如:

$.ajax({
    url: '/upload',
    data: {...},
    success: function(res){
        compressionRequest(res.image);
    }
})

另一种方法是使用像这样的事件流的套接字:

Send upload event => successfull upload event => user gets success message => server continues manipulations on image

希望这对你有帮助

关于javascript - 如何发送响应到ajax但保留procces php脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60042673/

相关文章:

javascript - 如何动态更新chrome应用程序的版本号?

javascript - 客户关系管理 2015 : Custom Ribbon buttons in quote entity not visible after the quote is activated

javascript - 添加为可拖动后切换 Google map 标记的拖动

javascript - 正则表达式替换失败

javascript - Onchange Select 使用 AJAX 发送多个数据进行不同的 mysql 查询

PHP找不到文件

php - 如何使用 php-curl 发布存储在本地的二进制文件?

php - 尝试在 woocommerce Analytics -> 订单报告表中添加订单项目名称列(并输出到 csv 文件)

php - SQLSTATE[23000] : Integrity constraint violation: 1048 Column 'page_id' cannot be null laravel 5

php - 在 WordPress 多站点中使用 Typeahead Ajax 时出现 ParseError