程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP ajax 異步執行不等待執行結果的處理方法

PHP ajax 異步執行不等待執行結果的處理方法

編輯: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就合作得很歡快了~

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved