Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何度量ajax调用的进度?在Php中使用jquery/ajax_Javascript_Php_Jquery_Json_Ajax - Fatal编程技术网

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

Javascript 如何度量ajax调用的进度?在Php中使用jquery/ajax,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我有一个AJAX调用,它运行一个很长的PHP脚本,其中有20个不同的结果,我想展示脚本中的每个步骤何时完成。 像这样1/20完成,2/20完成,3/20完成 最新发布时间:2015年12月29日03:17 我试图用PHP创建JSON文件(jsonFileName\u uniqueTimeStampHere.JSON),但是用PHP创建文件所花费的时间导致404文件找不到错误 因为当AJAX调用运行时,它会在文件创建之前调用进度,我知道我不能用JavaScript创建文件,但无论如何都可以创建 从

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

最新发布时间:2015年12月29日03:17

我试图用PHP创建JSON文件(
jsonFileName\u uniqueTimeStampHere.JSON
),但是用PHP创建文件所花费的时间导致404文件找不到错误

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

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

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

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

  • 我是否应该将每个进度的状态保存在DB中,然后通过多次调用PHP方法来接收它,从而获得已完成的状态
  • 我是否应该继续使用当前使用的方法,并在JSON文件中添加一个用户ID,以便每次调用该文件时它都是唯一的
  • 我应该如何像Seositecheckup那样做呢
  • 使用AJAX和PHP取得进展的最佳方式是什么

    如果你需要更多的信息,请告诉我

    我已经环顾四周,不觉得信息或信息的一半,有足够的网上找到已经足够做这件事自己

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

    我是否应该忘记使用jQuery,转而关注普通JavaScript

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


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

    处理可能需要很长时间的请求的HTTP方法是请求返回一个,响应的主体应该包含用户可以查询请求的URL结果

    #Request
    POST /some/entitities
    ...
    
    #Response
    HTTP/1.0 202 Accepted
    
    /jobs/{jobId}
    
    然后用户可以轮询
    /jobs/{jobId}
    ,它可以返回一个数字来表示进度。你一定要用这个吗?不,但如果您这样做,其他开发人员可以立即识别出发生了什么


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

    可能重复感谢,我查看了这个链接及其大约2年前的版本,并使用了XMLHttpRequest,我想以与seositecheckup类似的方式使用jquery ajax。jquery ajax只是XHRI的一个包装器。我知道,但我不想使用普通javascript,我想使用jquery ajax设置,我希望这是有道理的,实际上没有道理。如果您知道使用vanilla JS实现这一点的方法,那么为什么您要将自己限制在一个库中,而这个库只因为您在其他地方使用它而使这一点变得困难呢?这是毫无意义的,但是,似乎有一种解决方案使用jQuery。基本上是一种黑客行为,但我猜它仍然有效。如果我使用jquery ajax来实现这一点,您将如何使用运行脚本的用户的唯一标识符将数据保存在数据库中。创建进程的唯一标识符的最佳方法是什么?你能给我一个db构建的例子吗?我有20个不同的结果。你可以使用GUID,你正在将它们传递回调用方,并使用2020,你将如何创建它,您是使用php还是在前端使用javascript执行此操作?@user3502250创建作业的是服务器,它生成作业id,客户端调用该URL直到完成,在这一点上,服务器将向客户端提供可以检索资源的最终URL。因此,我应该只调用类中的一个方法来从db获取状态?完成后是否删除表中的行?