cgi怎么返回数据给ajax
ajax里 open("GET", "test.cgi"); send(null); cgi 里 printf("Content type: text/html\n\n"); printf("test"); 那么接下来ajax的responseText就应该是test才对,但始终显示乱码,得不到这个值,请问可能是哪个环节出了问题
ajax里 open("GET", "test.cgi"); send(null); cgi 里 printf("Content type: text/html\n\n"); printf("test"); 那么接下来ajax的responseText就应该是test才对,但始终显示乱码,得不到这个值,请问可能是哪个环节出了问题
答案:使用 printf 没办法返回给AJAX的。得使用die 或者 echo .
建议使用 die吧,因为echo 返回后不会结束还会继续执行下面对语句,造成程序异常。直接返回一个JSON给AJAX即可。如下
$result = array('html' => 'Content type: text/html\n\n');
die(json_encode($result));
在AJAX直接使用 result.html 即可看到返回结果
其他:之前我也遇到过同样的问题,后来我将ajax部分的代码也用cgi程序来写就可以了。你试着这样做一下,若有问题再问我哈
上一个:CGI与PERL之间的区别是什么...
下一个:Zend Studio 里Browser Output里调试错误的时候出现CGI/FastCGI已停止工作。