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

yipeiwu_com7年前PHP代码库

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

所以前台方面采用的方案一般为先展示生成的短地址,再定期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就合作得很欢快了~

相关文章

PHP5.3与5.5废弃与过期函数整理汇总

很多PHP程序员都知道,从PHP5.3开始加入了一个新的报错级别DEPRECATED,即将废弃/过期。下面我们来一个个版本梳理一下。 在php5.3被放弃的函数有: call_us...

php下使用curl模拟用户登陆的代码

bool curl_setopt (int ch, string option, mixed value) curl_setopt()函数将为一个CURL会话设置选项。option参数是...

php多线程并发实现方法

本文实例讲述了php多线程并发实现方法。分享给大家供大家参考,具体如下: java里多线程就是一个new thread的事情,php依赖apache靠着linux底层有一个多线程的办法。...

PHP实现支持SSL连接的SMTP邮件发送类

本文实例讲述了PHP实现支持SSL连接的SMTP邮件发送类。分享给大家供大家参考。具体如下: 该实例代码测试过了gmail和QQ邮箱的SMTP。具体代码如下: 复制代码 代码如下:<...

php实现无限级分类实现代码(递归方法)

开始以为这样的功能似乎很难,之前也做过一个百科的东西,其中也涉及到了分类的功能,不过不是无限级的分类,而是简单的实现了固定的三级分类,当时是自己设计的,想在想起来实现方法太土了,其实三级...