2011-05-09 69 views
0

我編寫了一個用C語言編寫的CGI應用程序,用於下載外部數據並將其插入MySQL數據庫。這已經完成並且可以工作,我可以直接從我的CGI-BIN文件夾中調用它。來自CGI的消息返回

現在我希望用戶能夠按刷新按鈕,然後加載CGI腳本,然後顯示加載指示器。我正在考慮使用Javascript來加載一個PHP腳本,然後加載CGI-APP。當CGI工作時,用戶應該看到一個加載指示符。

我現在怎麼讓主PHP知道,如果我只是間接地使用XMLHttpRequest調用腳本,我就會知道這一切?

mainapp.php>的Javascript的XMLHttpRequest> loader.php> CGI應用

如何從CGI應用程序的信息,所有的工作回到mainapp.php重裝本身?

編輯:我忘了提及。我使用JS來平滑過渡,所以用戶不會「感覺」另一個頁面剛剛被加載。

回答

0

服務器端,CGI腳本可以在運行時發佈它的進度。這可以寫入一個文件,爲此調用唯一標識。當這個過程開始時,JavaScript會被告知這個唯一的標識符。

(該文件可能只包含0-100根據進展情況。)

然後,您可以使用XHR輪詢該文件(即http://site/services/status/UNIQUEID)在給定的時間間隔的內容,並更新用戶接口相應。

+0

感謝亞歷克斯,這是有道理的。我的文件將完成並未完成,因爲我不知道CGI應用程序必須加載多少項。 – 2011-05-09 13:16:47