2012-08-29 29 views
6

我的問題是:的getJSON使用IP不工作

當我使用下面的代碼

var url="http://localhost:9000/json"; 
$.getJSON(url, 
function(data){ 
    alert(data['yay']); 
    }); 

它可以完美的來電JSON,但是,我的本地IP爲10.0.0.145,當我與IP地址替換本地主機,它不再起作用

var url="http://10.0.0.145:9000/json"; 
$.getJSON(url, 
function(data){ 
    alert(data['yay']); 
    }); 

回答

6

您正在違反same origin policy。如果您控制目標網站,則應考慮在您的站點和AJAX呼叫中使用JSONP呼叫方式或啓用cross domain選項(crossDomain)。

默認情況下,如果您違反了同一來源,您的瀏覽器將不會撥打電話。通過使用Fiddler,FireBug或Chrome Tools觀看HTTP流量,您將知道這一點。即使執行,您也不會看到您的請求。如果是這種情況,那麼採取上述方法之一。

我希望這會有所幫助。祝你好運!

3

原因很簡單,跨域保護:JSON的AJAX查詢從另一個域(顯然)只能當特定的頭文件是由給定t做他服務器。

我建議你閱讀this complete reference,因爲現在知道爲了編寫基於Ajax的應用程序而必須瞭解的內容。

對兩者使用相同的名稱。