当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP ajax 异步执行不等待执行结果的处理方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-27 12:23:23 浏览: 评论:0 

短地址生成应用中,要根据长地址生成网页快照,这个生成时间非瞬发,不可预估。

所以前台方面采用的方案一般为先展示生成的短地址,再定期AJAX轮查网页快照是否生成完毕。

So,PHP代码这里做了如下处理:

  1. // 这边服务器采用的是phantomjs 来生成网页快照 
  2. $cd        = '/home/emp/phpinstall/phantomjs-1.5.0/bin/phantomjs /home/emp/phpinstall/phantomjs/snap.js "'.$url.'" /home/emp/public_html_demo/cms/'.$thumb.' & '
  3. try{ 
  4.     @pclose(popen($cd,"r")); 
  5. }catch(Exception $e){} 

前台Js的ajax脚本:

_wt = window.setInterval("sys.ajax('?m=shorturl&c=index&a=check_snap','',callback.checkSnap);",200);

回调函数checkSnap等待PHP的check_snap检测网页快照 文件是否生成完毕。

收到生成完毕的信息后,清楚_wt这个定时器,代码如下:

clearTimeout(_wt);

这样,PHP和前台AJAX这对JFYF就合作得很欢快了~

Tags: PHP异步执行 ajax异步执行

分享到:

相关文章