Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
获取PHP变量的PHP AJAX脚本_Php_Ajax - Fatal编程技术网

获取PHP变量的PHP AJAX脚本

获取PHP变量的PHP AJAX脚本,php,ajax,Php,Ajax,我不熟悉使用ajax,但已经使用PHP一段时间了。我很好奇如何将两者结合起来 我的网站上有一个PHP脚本,它需要一段时间才能发出声音,因为它正在执行多次迭代和许多功能 我想以某种方式开发一个ajax脚本,告诉脚本的位置。整个脚本中有一个变量类似于进度表。不知何故,我希望每次变量改变时文本都会改变 如果可能的话,怎么可能 非常感谢您的帮助。做您想做的事: 将数据发布到PHP脚本,然后获取其结果: jQuery UI甚至有一个,将两者结合起来是明智的决定。您可以将当前进度表状态保存在文件、ram缓存

我不熟悉使用ajax,但已经使用PHP一段时间了。我很好奇如何将两者结合起来

我的网站上有一个PHP脚本,它需要一段时间才能发出声音,因为它正在执行多次迭代和许多功能

我想以某种方式开发一个ajax脚本,告诉脚本的位置。整个脚本中有一个变量类似于进度表。不知何故,我希望每次变量改变时文本都会改变

如果可能的话,怎么可能

非常感谢您的帮助。

做您想做的事:

将数据发布到PHP脚本,然后获取其结果:


jQuery UI甚至有一个,将两者结合起来是明智的决定。

您可以将当前进度表状态保存在文件、ram缓存或数据库中,然后编写另一个脚本来返回此状态。然后实现检索此信息的AJAX,然后启动新的AJAX请求,依此类推,直到进度完成。 我建议使用AJAX实现类似“长寿命HTTP连接”的功能。在ajax请求中传递状态,如果进度在PHP中没有改变,只需休眠,直到它改变为止

像这样(以%表示):

由于ajax请求有一个超时,所以只要在请求超时后启动一个新的请求就可以了


我希望这就是你的意思

可能在需要一段时间才能加载的服务器端脚本中,创建一个“报告变量”,该变量在一系列测量的连接点处递增。创建一个独立的服务器端AJAX回调方法来查看报告变量并只回显该数字。当客户端接收到它时,它会更新DOM和viola的这一部分,没有混乱,没有麻烦。

我打算建议这样做。我不想麻烦保存到数据库,只要使用memcache(如果可以的话)(您甚至可以将它存储在$\u SESSION变量中)。但是如果你使用两个脚本,处理起来会容易得多。会话也存储在文件中,memcache是一个内存/ram缓存。存储数据的方法很多,所以我只写了“文件、ram、数据库”。)是的,我同意,只是提出了一些想法
$.ajax({
  url: "progress.php",
  success: function(response){
    $("#results").html(response);
  }
});
AJAX request: progress.php?state=0
AJAX response: state: 10
AJAX request: progress.php?state=10
-- on server side it is still 10%, so sleep the php progress until it changes and then reply
AJAX response: state: 11
....