In the short address generation application, a web page snapshot needs to be generated based on the long address. This generation time is not instantaneous , unpredictable.
So the solution adopted by the front-end is generally to display the generated short address first, and then periodically AJAX check whether the web page snapshot has been generated.
So, the PHP code is processed as follows:
Copy code The code is as follows:
// The server here uses phantomjs to generate web page snapshots
$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){}
Ajax script for front-end Js:
Copy code The code is as follows:
_wt = window.setInterval("sys.ajax('?m=shorturl&c=index&a=check_snap','',callback.checkSnap);",200);
The callback function checkSnap waits for PHP's check_snap to detect whether the web page snapshot file is generated.
After receiving the generated information, clear the _wt timer.
Copy code The code is as follows:
clearTimeout(_wt);
In this way, the JFYF pair of PHP and front-end AJAX cooperate very happily~