Доброе время суток уважаемые форумчани.
Уже третюю неделю бьюсь над задачей, а ответ так и не найден. может кто поможет.
Задача следующая: есть сервер apache на нем активирован модуль mod_cgi.so
Для папки /usr/lib/cgi-bin/ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
cgi скрипт написан на С с использованием библиотеки jansson
/*
* main.c
*
* Created on: 25 жовт. 2013
* Author: vad
*/
#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
#include <string.h>
int main (int argc, char* argv[])
{
char* message="Error";
json_t * obj=json_object();
char *data;
int v2=12;
json_t * value;
json_t * value2 =json_integer(v2);
if ((data=getenv("QUERY_STRING"))==NULL) {
if ((value = json_string("Error"))==NULL)
printf("json_string() error\n");}
else
value = json_string(data);
json_object_set_new(obj,"getstring",value);
json_object_set(obj,"integer",value2);
printf("Content-Type: application/json \n\n");//,13,10);
printf("%s",json_dumps(obj,0));
return 0;
}
вебстраничка для тестирования даного скрипта использует библиотеку JQUERY
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test ajax</title>
<script src="js_lib/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function() {
$.getJSON("http://localhost/cgi-bin/json_generate.cgi",
function (data) {
var items = [];
items.push("<table border=1>");
$.each( data, function (key, value) {
items.push("<tr><td>" + key + "</td><td>" + value + "</td></tr>");
});
items.push("</table>");
$("#testdiv").html(items.join(""));
//$("table#table").html(items.join(""));
});
});
</script
</head>
<body>
<div id="testdiv"></div>
</body>
</html>
а теперь самое интересное при запуске откомпилированого скрипта в консоли сервера выводиться все как положено
root@nachlab:/usr/lib/cgi-bin# ./json_generate.cgi
Content-Type: application/json
{"integer": 12, "getstring": "Error"}
однако при запуске страницы в Firebug ответ на AJAX запрос
{"integer": 12, "getstring": ""}
почему не могу понять. подскажите.