2012-03-02 80 views
0

我發送一個休息請求到服務器並獲取狀態200好,但沒有響應中的內容。通過發送休息請求和返回狀態200沒有響應正常

$.getJSON("http://192.168.0.94:8084/datasnap/rest/TServerMethods1/ReverseString/sfasda/", function(data) { 
    alert(data); 
}); 

我調試與螢火這一點,並在標題:

Connection close 
Content-Length 21 
Content-Type text/html; charset=ISO-8859-1 
Pragma dssession=188802.418847.903604,dssessionexpires=1200000 
Request Headers 
Accept application/json, text/javascript, */*; q=0.01 
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Accept-Encoding gzip, deflate 
Accept-Language en-us,en;q=0.5 
Connection keep-alive 
Host 192.168.0.94:8084 
Origin http://192.168.0.92 
Referer http://192.168.0.92/visuals/index.php?page=pincodescreen 
User-Agent Mozilla/5.0 (Windows NT 5.2; rv:5.0) Gecko/20100101 Firefox/5.0 

什麼我錯了嗎?

回答

0

您正在做一個跨域請求,由於JavaScript same origin policy,這將不起作用。您的請求源於http://192.168.0.92的文檔,而目標是http://192.168.0.94:8084/。據我所知,即使不同的端口也會觸發政策,使得不可能直接請求數據。

假設您可以控制第二臺服務器,請重新編寫使用JSONP的請求。

+0

太糟糕了,我無法控制第二臺服務器 – robind38 2012-03-02 15:29:20

+0

可以通過使用我的瀏覽器或php來實現,但我希望客戶端執行 – robind38 2012-03-02 15:33:38

+1

您可以在服務器上放置代理腳本。你的客戶端就會調用這個腳本,而這個腳本又會從遠程服務器獲取資源並將其轉發給客戶端。客戶可以用任何必要的方式處理數據。對於你的客戶來說,只有一臺服務器可以與之通話,因此你不會有相同來源策略的問題。 – Sirko 2012-03-02 15:38:34

相關問題