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

WBOY
Release: 2016-05-16 20:14:59
Original
1051 people have browsed it

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

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

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

复制代码 代码如下:

// 这边服务器采用的是phantomjs 来生成网页快照
$cd        = '/home/emp/phpinstall/phantomjs-1.5.0/bin/phantomjs /home/emp/phpinstall/phantomjs/snap.js "'.$url.'" /home/emp/public_html_demo/cms/'.$thumb.' & ';
try{
    @pclose(popen($cd,"r"));
}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就合作得很欢快了~
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template