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


Posted in PHP onMay 27, 2015

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

所以前台方面采用的方案一般为先展示生成的短地址,再定期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类常量的使用详解
Jun 08 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
php查看当前Session的ID实例
Mar 16 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
PHP PDOStatement::bindColumn讲解
Jan 30 PHP
PHP的简单跳转提示的实现详解
Mar 14 PHP
Yii框架页面渲染操作实例详解
Jul 19 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
Jul 10 PHP
PHP中preg_match函数正则匹配的字符串长度问题
May 27 #PHP
PHP中把有符号整型转换为无符号整型方法
May 27 #PHP
PHP中的事务使用实例
May 26 #PHP
PHP模板引擎smarty详细介绍
May 26 #PHP
PHP中的一些常用函数收集
May 26 #PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
May 25 #PHP
PHP SOCKET编程详解
May 22 #PHP
You might like
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
js实现文字滚动效果
2016/03/03 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
SQLite3中文编码 Python的实现
2017/01/11 Python
python实现静态web服务器
2019/09/03 Python
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
2014中考励志标语
2014/06/05 职场文书
平面设计专业求职信
2014/08/09 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
公司员工管理制度
2015/08/04 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书