2012-05-19 26 views
0

我對C中的CGI編程有一個普遍的問題。C中的CGI編程

我使用嵌入式web服務器來處理web界面。爲此我有一個存儲在服務器中的HTML文件。在這個HTML文件中有JavaScript和CSS代碼。到現在爲止還挺好。

當用戶按下「提交」按鈕時,我收到我的CGI程序中的表單數據。但我無法理解如何將相同的數據返回給用戶的表單。我是否需要閱讀HTML文件,將其複製到緩衝區,解析數據,用用戶數據填寫表格,並將緩衝區(而非HTML文件)發送回瀏覽器(例如使用puts函數)?

謝謝你的幫助!

+2

搞清楚你想做什麼有點困難。爲什麼你希望你的服務器發送相同的數據到HTML表單?您是否嘗試進行部分頁面更新? (AJAX?)您是否已經學習了一些關於CGI編程的基本教程,即您是否知道CGI程序如何以及以何種形式生成其輸出? – stakx

回答

2

您需要準確發送您希望客戶端瀏覽器顯示的內容。

這意味着一個完整的HTML頁面,其中包含您想要的所有數據。你描述它的方式是行得通的,但正確地解析HTML並不是微不足道的。

你應該研究使用某種形式的模板系統,如libctemplate(我沒有這方面的經驗,但你會通過搜索找到其他人)。

或者使用AJAX來執行POST並僅返回XML或JSON,讓前端JavaScript處理更新頁面。

+0

據我瞭解AJAX腳本在客戶端網站上工作。但某種模板庫應該做的伎倆。 – Lambov

+0

是的,AJAX是客戶端。客戶端部分可以執行AJAX請求而不是普通表單POST,並且您的CGI可以返回客戶端代碼可用於更新顯示的JSON,XML或純文本。 – Mat

+0

謝謝!您的信息有用。 – Lambov