专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > CGI

ajax传值给CGI,但CGI得不到数据解决办法

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
ajax传值给CGI,但CGI得不到数据
在function lb(i)中加入alert(x_url)能得到正确的值"bbs_get_grouplist?gn=1&lb=1"
但ajax传回来的值始终是"aaaaaaaaaaa",不知道是什么原因。

main(){
printf("%s","Content-type:text/html;charset=UTF-8;nn");
if(getenv("CONTENT-LENGTH")){
int n=atoi(getenv("CONTENT_LENGTH"));
printf("%d",n);
}
else{
printf("%s","aaaaaaaaaaa");
}
}


function lb(i){
var x_lb=document.getElementById("bbs_group1").value;
var x_url="bbs_get_grouplist?gn="+i+"&lb="+x_lb;
if(!req)requestCreate();
if(req){
req.open("GET" , x_url , true);
req.onreadystatechange=function(){if(req.readyState==4 && req.status==200)alert(req.responseText);}
req.send(null);
}
}
------解决方案--------------------
POST时候再检查CONTENT_LENGTH
------解决方案--------------------
GET方法直接读取
QUERY_STRING即可
------解决方案--------------------
给你一个c写的cgi demo,关于环境变量的,应该对一有用.

// cgi-demo.c: Simple CGI demo program.
// Vers. 2.00 - 04.April 2007
// k.d.walter@t-online.de

// Includes

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (int argc, char *argv[])
{
   char *pEnvPtr;

   printf ("Content-type: text/htmln");
   printf ("n");
   printf ("<HTML>n");
   printf ("<HEAD>n");
   printf ("<TITLE>CGI Environment Variable</TITLE>n");
   printf ("</HEAD>n");
   printf ("<BODY>n");
   
   // SERVER_SOFTWARE

   pEnvPtr= getenv ("SERVER_SOFTWARE");
   printf ("SERVER_SOFTWARE= ");
   if (!pEnvPtr)
      printf ("<NULL-POINTER>n");
   else
      printf ("%sn", pEnvPtr);
   printf ("<br>n");
   
   // SERVER_NAME

   pEnvPtr= getenv ("SERVER_NAME");
   printf ("SERVER_NAME= ");
   if (!pEnvPtr)
      printf ("<NULL-POINTER>n");
   else
      printf ("%sn", pEnvPtr);
   printf ("<br>n");

   // SERVER_PROTOCOL

   pEnvPtr= getenv ("SERVER_PROTOCOL");
   printf ("SERVER_PROTOCOL= ");
   if (!pEnvPtr)
      printf ("<NULL-POINTER>n");
   else
      printf ("%sn", pEnvPtr);
   printf ("<br>n");

   // SERVER_PORT

   pEnvPtr= getenv ("SERVER_PORT");
   printf ("SERVER_PORT= ");
   if (!pEnvPtr)
      printf ("<NULL-POINTER>n");
   else
      printf ("%sn", pEnvPtr);
   printf ("<br>n");

   // REQUEST_URI

   pEnvPtr= getenv ("REQUEST_URI");
   printf ("REQUEST_URI= ");
   if (!pEnvPtr)
      printf ("<NULL-POINTER>n");
   else
      printf ("%sn", pEnvPtr);
   printf ("<br>n");

   // REQUEST_METHOD

   pEnvPtr= getenv ("REQUEST_METHOD");
   printf ("REQUEST_METHOD= ");
   if (!pEnvPtr)
      printf ("<NULL-POINTER>n");
   else
      printf ("%sn", pEnvPtr);
   printf ("<br>n");

   // GATEWAY_INTERFACE

   pEnvPtr= getenv ("GATEWAY_INTERFACE");
   printf ("GATEWAY_INTERFACE= ");
   if (!pEnvPtr)
      printf ("<NULL-POINTER>n");
   else
      printf ("%sn", pEnvPtr);
   printf ("<br>n");

   // HTTP_CONNECTION

   pEnvPtr= getenv ("HTTP_CONNECTION");
   printf ("HTTP_CONNECTION= ");
   if (!pEnvPtr)
      printf ("<NULL-POINTER>n");
   else
      printf ("%sn", pEnvPtr);
   printf ("<br>n");

   // PATH_INFO

   pEnvPtr= getenv ("PATH_INFO");
   printf ("PATH_INFO= ");
   if (!pEnvPtr)
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: