gpt4 book ai didi

javascript - 如何测量 ajax 调用的进度?在 Php 中使用 jquery/ajax

转载 作者:行者123 更新时间:2023-12-01 05:35:20 25 4
gpt4 key购买 nike

我有一个 AJAX 调用正在运行一个很长的 PHP 脚本,其中有 20 个不同的结果,我想显示脚本中每个步骤何时完成。就像这样,1/20 完成,2/20 完成,3/20 完成。

最新2015年12月29日03:17。

我尝试通过 PHP 创建 JSON 文件(jsonFileName_uniqueTimeStampHere.json),但是使用 PHP 创建文件所花费的时间,导致 404 文件未找到错误!

因为当 AJAX 调用运行时,它会在创建文件之前进行进度调用,所以我知道我无法使用 JavaScript 创建该文件,但无论如何都可以创建。

jQuery AJAX 成功回调之前的文件?

在 AJAX 调用运行时显示进度信息的最佳方式是什么。

按照我现在的方式,我在服务器上保存了一个 JSON 文件,该文件会使用已完成的最新状态进行更新,但如果多个用户正在运行相同的脚本,则具有状态的 JSON 文件将被覆盖。

  1. 我是否应该将每个进度的状态保存在数据库中,然后通过多次调用获取已完成状态的 PHP 方法来接收它?
  2. 我是否应该继续使用当前使用的方法并将 userID 添加到 JSON 文件中,以便它在每次调用该文件时都是唯一的?
  3. 我应该如何像 Seositecheckup 一样进行操作?

在 AJAX 和 PHP 方面取得进步的最佳方法是什么?

如果您需要更多信息,请告诉我。

我环顾四周,感觉没有信息或一半信息,网上找到的信息已经足够我自己做到了。

我想使用 jQuery AJAX 而不是 XMLHttpRequest,我正在寻找类似于 seositecheckup.com 的东西,当您扫描页面时,您可以在控制台中看到每个已完成功能的状态更新,并且是使用不同的 AJAX 完成的来电。这怎么可能?

我应该忘记使用 jQuery 并专注于纯 JavaScript 吗?

现在我有一个 jQuery 的设置,问题是,我使用 JSON 文件来获取结果,当多个用户请求相同的脚本时它会被覆盖,是否可以将状态存储在数据库中并从那里接收它并带有一些唯一的标识符?

将来我希望能够将脚本放入可以运行的队列中,并且当脚本结束时它应该向用户发送一封电子邮件。

最佳答案

处理可能需要很长时间的请求的 HTTP 方式是让请求返回 202响应正文应包含用户可以查询结果的 URL。

#Request
POST /some/entitities
...

#Response
HTTP/1.0 202 Accepted

/jobs/{jobId}

然后,用户可以轮询 /jobs/{jobId},它可以返回一个数字来表示进度。有必要用这个吗?不,但如果您这样做,其他开发人员可以立即意识到发生了什么。

即使您不使用我推荐的方法,您也必须在数据库中跟踪作业进度,并进行单独的 AJAX 调用来找出当前进度。

关于javascript - 如何测量 ajax 调用的进度?在 Php 中使用 jquery/ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34500203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com