この記事では、実行結果を待たずにPHP ajax非同期実行の処理方法を主に紹介します。この記事は、それを必要とする友人に直接実装コードを提供します。参考にしてください
短いアドレス生成アプリケーションでは、長いアドレスに基づいて Web ページのスナップショットを生成する必要があります。この生成時間は瞬時ではなく、予測できません。
そこで、フロントエンドが採用する解決策は一般的に、最初に生成された短縮アドレスを表示し、その後Webページのスナップショットが生成されているかどうかをAJAXで定期的にチェックするというものです。
ということで、PHPコードは次のように処理されます。
コードは次のとおりです:// ここのサーバーは phantomjs を使用して Web ページのスナップショットを生成します
$cd = '/home/emp/phpinstall/phantomjs-1.5.0/bin/phantomjs /home/emp/phpinstall/phantomjs/snap.js "'.$url.'" /home/emp/public_html_demo/cms/ '.$親指' & ';
試してみる{
@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 が Web ページのスナップショット ファイルが生成されたかどうかを検出するのを待ちます。
生成された情報を受信したら、_wtタイマーをクリアします。
コードは次のとおりです:
clearTimeout(_wt);
このように、PHPとフロントエンドAJAXのJFYFペアは非常に楽しく協力することになります〜
。