PHP ajax 異步執(zhí)行不等待執(zhí)行結(jié)果的處理方法
短地址生成應(yīng)用中,要根據(jù)長地址生成網(wǎng)頁快照,這個(gè)生成時(shí)間非瞬發(fā),不可預(yù)估。
所以前臺(tái)方面采用的方案一般為先展示生成的短地址,再定期AJAX輪查網(wǎng)頁快照是否生成完畢。
So,PHP代碼這里做了如下處理:
// 這邊服務(wù)器采用的是phantomjs 來生成網(wǎng)頁快照
$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){}
前臺(tái)Js的ajax腳本:
_wt = window.setInterval("sys.ajax('?m=shorturl&c=index&a=check_snap','',callback.checkSnap);",200);
回調(diào)函數(shù)checkSnap等待PHP的check_snap檢測(cè)網(wǎng)頁快照 文件是否生成完畢。
收到生成完畢的信息后,清楚_wt這個(gè)定時(shí)器。
clearTimeout(_wt);
這樣,PHP和前臺(tái)AJAX這對(duì)JFYF就合作得很歡快了~
- PHP框架Laravel中實(shí)現(xiàn)supervisor執(zhí)行異步進(jìn)程的方法
- 4種PHP異步執(zhí)行的常用方式
- PHP 異步執(zhí)行方法,模擬多線程的應(yīng)用分析
- 基于PHP異步執(zhí)行的常用方式詳解
- 深入PHP異步執(zhí)行的詳解
- 實(shí)現(xiàn)PHP多線程異步請(qǐng)求的3種方法
- PHP curl 抓取AJAX異步內(nèi)容示例
- php異步多線程swoole用法實(shí)例
- 利用ThinkPHP內(nèi)置的ThinkAjax實(shí)現(xiàn)異步傳輸技術(shù)的實(shí)現(xiàn)方法
- PHP的Laravel框架中使用消息隊(duì)列queue及異步隊(duì)列的方法
- PHP編程實(shí)現(xiàn)腳本異步執(zhí)行的方法
相關(guān)文章
php 指定范圍內(nèi)多個(gè)隨機(jī)數(shù)代碼實(shí)例
在php中生成隨機(jī)數(shù)據(jù)我們可以使用rand,mt_rand都可以生成指定范圍內(nèi)隨機(jī)數(shù)據(jù)了,下面給各位同學(xué)介紹一下方法2016-07-07
PHP中4種常用的抓取網(wǎng)絡(luò)數(shù)據(jù)方法
這篇文章主要介紹了PHP中4種常用的抓取網(wǎng)絡(luò)數(shù)據(jù)方法,本文講解使用file_get_contents函數(shù)、fopen函數(shù)、curl庫三種常見方法抓取網(wǎng)絡(luò)數(shù)據(jù),并給出了代碼實(shí)例,需要的朋友可以參考下2015-06-06
使用PHP接收POST數(shù)據(jù),解析json數(shù)據(jù)
本篇文章是對(duì)使用PHP接收POST數(shù)據(jù)以及json數(shù)據(jù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php中的實(shí)現(xiàn)trim函數(shù)代碼
trim() 函數(shù)從字符串的兩端刪除空白字符和其他預(yù)定義字符。2007-03-03

