2011-05-25 125 views
0

阿賈克斯我有以下的貓鼬服務器(server,而不是JavaScript庫):JSON與貓鼬

 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對象。

當我使用$.getJSON("http://127.0.0.1:8080/AtoB", [...])訪問相同的URL時,Firebug顯示正確的標題,但顯示爲空的正文。

我該怎麼辦? 感謝

附加信息:

  • 不與應用/ JSON的工作,要麼。爲了便於調試,我留下了純文本/純文本。
  • 不適用於$ .get()或其他。問題在於之前。
  • 對原始xmlhttprequest也不起作用!
  • 我嘗試了最後的\ 0和最後\ n沒有運氣。
  • 原始貓鼬服務器(mongoose.exe)在從jQuery訪問時產生相同的行爲。

回答

0

所以XmlHttpRequest只接受連接到同一個主機......我知道這一點,但競爭忘記。

.html文件必須通過貓鼬被訪問過(同一主機,同一端口),而不是使用文件://

這個問題確實是的AJAX response not valid in C++ but Apache

重複