0

私は次のマングースサーバー(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.exe)は、jQueryからアクセスしたときに同じ動作を生成します。
4

1 に答える 1

0

したがって、XmlHttpRequest は同じホストへの接続のみを受け入れます...私はそれを知っていましたが、完全に忘れていました。

.html ファイルには、file:// を使用する代わりに、Mongoose からもアクセスする必要があります (同じホスト、同じポート)。

この質問は、実際にはC++ では無効な AJAX 応答の複製でしたが、Apache でした。

于 2011-05-25T11:47:54.237 に答える