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

yipeiwu_com6年前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就合作得很欢快了~

相关文章

php函数式编程简单示例

本文实例讲述了php函数式编程。分享给大家供大家参考,具体如下: // 函数式编程 $users = array( array('id' => 1, 'name' =>...

php文件包含目录配置open_basedir的使用与性能详解

1.open_basedir介绍 open_basedir 将php所能打开的文件限制在指定的目录树中,包括文件本身。当程序要使用例如fopen()或file_get_contents(...

php文本转图片自动换行的方法

今天无意中浏览网面的时候发现一个长微博,它可以将文本转成png图片,于是乎就研究一下PHP文本转图片的方式,其实只要是用到了PHP的扩展库,GD库来生成图片,再通过图像函数生成,代码写出...

php抽象方法和普通方法的区别点总结

php抽象方法和普通方法的区别点总结

抽象方法和普通方法的主要区别是: 抽象方法不具有方法体 什么是方法体? 方法体是一个方法的代码块即花括号包裹部分。 声明抽象方法的关键字: 关键字abstract用于声明一个抽象方法...

php中base64_decode与base64_encode加密解密函数实例

本文实例讲述了php中base64_decode与base64_encode加密解密函数。分享给大家供大家参考。具体分析如下: 这两个函数在php中是用得对php代码进行加密与解密码的b...