想寫個前台頁面傳送ajax請求到後台用c語言編寫的cgi程式,並成功返回結果。原始碼都很簡單,都有,結果在除錯配置時遇到了乙個又乙個問題。特記錄之。
過程參考:
1、先貼**:ajaxtest1.htm
suggest:
instruction:
cgi_main.c
#include
#include
#include
int main(void)
else
printf("content-type: text/html;charset=utf-8\n\n");
if(strstr(lenstr,"txtida")!=null)
if(strstr(lenstr,"txtidb")!=null)
return 0;
} 2、用dev-c++編譯生成cgi執行檔案。
顯示亂碼是因為我是在ubuntu中用gcc編譯的,然後想放在windows10上跑,當然跑不過啦。在apache中的日誌檔案中看錯誤是這樣的:gcc: internal error: aborted (program collect2)
3、檔案目錄:
其中ajaxtest1.htm是訪問的頁面,其中的邏輯處理ajax請求就是呼叫的上面ajaxtest1cgi資料夾中的.cgi程式,從而實現頁面的動態載入。
ajaxtest1cgi資料夾如下圖:
其中的ajaxtest1.cgi就是用dev-c++編譯cgi_main.c得到的.cgi檔案。
在cmd控制台中cd到e:\program files\apache24\htdocs\ajaxtest1cgi目錄下,然後輸入命令:gcc -o ajaxtest1.cgi cgi_main.c,就可以編譯生成.cgi檔案了。
在ajaxtest1.htm中的xmlhttp.open("get","/ajaxtest1cgi/ajaxtest1.cgi?txtidb="+str,true);就是在ajax請求,並且請求的cgi檔案路徑都已經寫好,所以能夠呼叫到編譯好的cgi檔案了。
4、除錯結果:
1.2. //apache對cgi的支援配置
4. //gcc編譯生成cgi檔案,gcc環境變數配置
Apache 上的 CGI 配置與測試
平台與工具 windows xp,apache 2.0.59,activeperl 5.6.1.628 mswin32 x86 multi thread.msi,vc 6.0,turboc 2.0 scriptalias cgi bin f php code cgi bin allowoverrid...
C語言cgi程式在apache上的實現
本文介紹使用apache實現c語言寫的cgi程式。必要條件,安裝apache。首先建立c程式,這裡就不多介紹。參照前面的文章或者其它的參考書籍。建立檔案hello.c,內容如下 include int main 編繹hello.c,生成hello.exe。把hello.exe檔案拷到 apache安...
配置apache執行cgi程式
配置apache執行cgi程式可分為兩種情況,一是scriptalias目錄的cgi,二是scriptalias以外目錄的cgi。scriptalias目錄的cgi scriptalias指令使apache允許執行乙個特定目錄中的cgi程式。當客戶端請求此特定目錄中的資源時,apache假定其中檔案...