Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2013, 20:17   #1
vad.exe
Новичок
Джуниор
 
Регистрация: 06.12.2013
Сообщений: 1
По умолчанию CGI + JQUERY

Доброе время суток уважаемые форумчани.
Уже третюю неделю бьюсь над задачей, а ответ так и не найден. может кто поможет.
Задача следующая: есть сервер 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"))==NUL L) {
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",value 2);
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",//"{test:test1}",
//$.getJSON("http://localhost/bet_get/test.json",
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": ""}
почему не могу понять. мучаюсь уже две недели. подскажите.
vad.exe вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CGI на си Sna1L Помощь студентам 6 06.11.2011 00:39
скрипты cgi на c++ grigoriko Общие вопросы C/C++ 4 22.07.2010 21:21
Выполнение CGI prizrak1390 Работа с сетью в Delphi 10 23.02.2009 21:01
CGI аким Работа с сетью в Delphi 0 08.10.2008 11:35
CGI Pedro Работа с сетью в Delphi 0 17.11.2007 20:31