c.c
- C/C++ code
#include < stdio.h > #include < stdlib.h > int main(void) { char *data; long m,n,num; printf("Content-Type:text/html;charset=gb2312\n\n"); data = getenv("QUERY_STRING"); if(data == NULL) printf("<P >错误!数据没有被输入或者数据传输有问题\n\n"); else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2) printf("<P >错误!输入数据非法。表单中输入的必须是数字。\n\n"); else num = m*n; //printf("%ld。\n\n",num); return num; }
ajax代码
- HTML code
function Ajax(data){ var d=new Date(); xmlhttp.open("GET","/cgi-bin/c.cgi?m="+document.getElementById("Num_One").value+"&n="+document.getElementById("Num_Tow").value,true); xmlhttp.send(null); //document.getElementById('username_notice').innerHTML = process_request;//锟斤拷示状态 xmlhttp.onreadystatechange=function(){ if (4==xmlhttp.readyState){ if (200==xmlhttp.status){ var responseText = xmlhttp.responseText; if (responseText){ alert(responseText);//showInfo("username_notice",responseText); } }else{ alert("error!"); } } } }
我想根据CGI的返回值return 获取num; ,而不是根据printf获取num,可以获取吗?请各位大牛帮忙看下
------解决方案--------------------
return只是函数的返回值,必须输出出来客户端才能得到
------解决方案--------------------
是啊!return的返回值只是返回给函数,你那个主函数是void的,本来就是无返回值的吧?
还是printf吧。
------解决方案--------------------
你不使用printf输出值给客户端,你提交表单的时候,怎么会有数据提交给cgi程序和服务器处理啊!
这只是我个人的理解啊!关注中。