我编写了一个用C编写的CGI应用程序,用于下载外部数据并将其插入MySQL数据库。这已经完成并且可以工作,我可以直接从我的CGI-BIN文件夹中调用它。
现在我希望用户能够按下刷新按钮,然后再加载CGI脚本,然后显示加载指示符。我正在考虑使用Javascript加载PHP脚本,然后加载CGI-APP。当CGI在工作时,用户应该看到加载指示符。
如果我只像我一样间接使用XMLHttpRequest调用脚本,那么现在我怎么能让主PHP知道这一切都有用呢?
mainapp.php> Javascript XMLHttpRequest> loader.php> CGI app
来自CGI应用程序的所有工作信息如何回到mainapp.php重新加载?
编辑:我忘了提及。我使用JS来平滑过渡,因此用户不会“感觉”刚刚加载了另一个页面。答案 0 :(得分:0)
服务器端,CGI脚本可以在运行时发布其进度。这可以写入一个文件,为此调用唯一标识。启动该过程后,将告知JavaScript有关此唯一标识符的信息。
(根据进度,文件可能只包含0-100。)
然后,您可以使用XHR以给定间隔轮询此文件的内容(即http://site/services/status/ uniqueid )并相应地更新您的用户界面。