JSON в Аяксе с мангустом - PullRequest
0 голосов
/ 25 мая 2011

У меня есть следующий сервер Mongoose ( сервер , а не библиотека javascript):

        std::ostringstream oss;
        oss << "{ \"key\" : \"value\"}";

        mg_printf(conn,
            "HTTP/1.1 200 OK\r\n"
            "Cache: no-cache\r\n"
            "Content-Type: text/plain\r\n"
            "Content-Length: %d\r\n"
            "\r\n",
            oss.str().length());
        mg_write(conn, oss.str().c_str(), oss.str().length());

Когда я открываю страницу в Firefox, она работает хорошо, я вижу сообщение JSON { "key" : "value"}. Firebug доволен этим и показывает мне интерпретированный объект JSON.

Когда я получаю доступ к тому же URL с $.getJSON("http://127.0.0.1:8080/AtoB", [...] ), Firebug показывает мне правильный заголовок, но пустое тело.

Что мне делать? Спасибо

Дополнительная информация:

  • Также не работает с application / json. Я оставил текст / обычный текст для простоты отладки.
  • Не работает с $ .get () или другими. Проблема раньше.
  • Не работает и с необработанным xmlhttprequest!
  • Я попытался с финальным \ 0 и финальным \ n без удачи.
  • Исходный сервер mongoose (mongoose.exe) производит то же поведение при доступе из jQuery.

1 Ответ

0 голосов
/ 25 мая 2011

Таким образом, XmlHttpRequest принимает соединения только с одним и тем же хостом ... Я знал это, но совершенно забыл.

Файл .html должен быть доступен и через Mongoose (тот же хост, тот же порт) вместо использования файла: //

Этот вопрос действительно был дубликатом AJAX-ответа, недопустимого в C ++, но Apache

...