我有一个运行长PHP脚本的AJAX调用,它有20个不同的结果,我想在脚本中的每个步骤完成时显示。 就像1/20完成,2/20完成,3/20完成。
最新29-12-2015 03:17。
我尝试用PHP创建JSON文件(jsonFileName_uniqueTimeStampHere.json
),但用PHP创建文件所花费的时间导致找不到404文件错误!
因为当AJAX调用正在运行时,它会在创建文件之前进入进程调用,我知道我无法使用JavaScript创建文件,但无论如何都要创建。
jQuery AJAX成功回调之前的文件?
在AJAX调用运行时显示进度信息的最佳方法是什么。
我现在拥有它的方式,我在服务器上保存了一个JSON文件,该文件使用已完成的最新状态进行更新,但如果多个用户正在运行相同的脚本,则状态的JSON文件将被覆盖。
使用AJAX和PHP取得进步的最佳方法是什么?
如果您需要更多信息,请告诉我。
我环顾四周,感觉不到信息或信息的一半,有网上找到的就足够了。
我想使用jQuery AJAX而不是XMLHttpRequest,我正在寻找类似于seositecheckup.com的东西,当你扫描页面时,你可以在控制台中看到每个已完成函数的状态更新,并使用不同的AJAX完成调用。怎么可能?
我应该忘记使用jQuery并继续专注于纯JavaScript吗?
现在我有一个jQuery的设置,问题是,我使用JSON文件来获取结果,当多个用户请求相同的脚本时它被覆盖,是否可以将状态存储在db中并从那里接收一些唯一标识符?
将来我希望能够将脚本放入可以运行的队列中,当脚本结束时,它应该向用户发送电子邮件。
答案 0 :(得分:0)
处理可能需要很长时间的请求的HTTP方式是请求返回202,并且响应正文应包含用户可以查询结果的URL。
#Request
POST /some/entitities
...
#Response
HTTP/1.0 202 Accepted
/jobs/{jobId}
然后,用户可以轮询/jobs/{jobId}
,它可以返回一个数字来表示进度。你必须用这个吗?不,但如果你这样做,其他开发人员可以立即识别正在发生的事情。
即使您不使用我建议的方法,您还必须跟踪数据库中的作业进度,并进行单独的AJAX调用以查找当前进度。