PHP ajax 異步執(zhí)行不等待執(zhí)行結(jié)果的處理方法
短地址生成應(yīng)用中,要根據(jù)長(zhǎng)地址生成網(wǎng)頁(yè)快照,這個(gè)生成時(shí)間非瞬發(fā),不可預(yù)估。
所以前臺(tái)方面采用的方案一般為先展示生成的短地址,再定期AJAX輪查網(wǎng)頁(yè)快照是否生成完畢。
So,PHP代碼這里做了如下處理:
// 這邊服務(wù)器采用的是phantomjs 來(lái)生成網(wǎng)頁(yè)快照
$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)頁(yè)快照 文件是否生成完畢。
收到生成完畢的信息后,清楚_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í)行方法,模擬多線(xiàn)程的應(yīng)用分析
- 基于PHP異步執(zhí)行的常用方式詳解
- 深入PHP異步執(zhí)行的詳解
- 實(shí)現(xiàn)PHP多線(xiàn)程異步請(qǐng)求的3種方法
- PHP curl 抓取AJAX異步內(nèi)容示例
- php異步多線(xiàn)程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)文章
Windows下PHP開(kāi)發(fā)環(huán)境搭建教程(Apache+PHP+MySQL)
這篇文章主要為大家詳細(xì)介紹了Windows下PHP開(kāi)發(fā)環(huán)境搭建教程:Apache+PHP+MySQL,具有一定的實(shí)用性和參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06php獲取從百度、谷歌等搜索引擎進(jìn)入網(wǎng)站關(guān)鍵詞的方法
這篇文章主要介紹了php獲取從百度、谷歌等搜索引擎進(jìn)入網(wǎng)站關(guān)鍵詞的方法,可實(shí)現(xiàn)判斷進(jìn)入網(wǎng)站的搜索引擎來(lái)源及搜索的關(guān)鍵詞功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-07-07