我已經開始向定製的C#非網絡服務器應用程序添加HTTP支持,該功能似乎在Firefox/IE/Chrome中正常工作時直接在瀏覽器中輸入URL - 我在哪裏可以在我的應用程序的頁面中看到返回的文本字符串。AJAX自定義服務器的HTTP協議響應問題
問題是,當我嘗試從網頁上的JavaScript中的HTTPRequest執行相同的操作時我沒有得到Chrome或Firefox的響應(在IE中沒有問題) - 而是從HTTPRequest獲得狀態爲零目的。但是我可以看到,我的應用程序從它的調試輸出接收到來自瀏覽器的請求並提供了響應,因此瀏覽器不能像我在這種情況下發送的響應一樣,IE瀏覽器不太挑剔。
我一直在嘗試不同的POST和GET請求都無濟於事之間的交換 - 例如:
request.open( 'GET',網址,真實); request.onreadystatechange = mycallback; //request.setRequestHeader('Content-type','application/x-www-form-urlencoded'); request.send(null); //試圖 '' 以及和其它數據與POST
我的最簡單的服務器答覆我曾嘗試是:
HTTP/1.1 200 OK \ r \ n 的Content-Length:20 \ r \ n 內容類型:text/plain \ r \ n \ r \ n ...........
我試過1.0而不是1.1,不同的頭文件如Connection:Close,Accept-範圍和其他隨機的東西,因爲我試圖模仿其他類似於Wireshark的迴應。
顯然它必須是簡單的東西,但魔術組合避開了我!
非常感謝提前。
我突然想到的是,JavaScript所在的網頁來自運行在同一臺計算機上的Web服務器,因此具有與我的自定義服務器相同的IP地址。但是,Apache Web服務器運行在端口80上,但我的自定義服務器在端口8080上。 難道我在Chrome和Firefox下被同一個原始安全策略咬住了嗎? – iam 2010-04-27 09:32:50