2013-08-23 37 views
0

我寫了一個javascript代碼從url中獲取Json對象。我的代碼是這樣的:當我使用getJson時出錯。

<script> 

$(document).ready(function(){ 

    $("button").click(function(){ 
    $.getJSON('url_address', {}, function(data) { 
     // do something 
    }); 
    }); 
    }); 

}); 

</script> 

而且我使用Google Chrome瀏覽器。如果我只是在瀏覽器中輸入url,我就可以正確地獲取json數據。

但當我調試代碼,我得到了一個錯誤信息:

的XMLHttpRequest無法加載「url_address」。 Access-Control-Allow-Origin不允許Origin null。

我不知道它有什麼問題。

回答

0

這是因爲same origin policy阻止瀏覽器向位於不同域中的資源發出ajax請求。

有兩種可能的解決方法,依賴於資源服務器支持

JSONP:不是做出Ajax請求的資源被加載就像一個JavaScript函數調用。

$.getJSON('url_address?callback=?', {}, function(data) { 
    // do something 
}); 

CORS

+0

THX,阿倫,你說的第一種方式是,就像我所做的。我不太瞭解你。 – Jane

+0

@SeanZhu做到了嗎? –

+0

@ Arun P Johny。現在似乎工作。但我不知道如何在控制檯或html頁面上顯示這個json對象。所以我需要時間來驗證它:) – Jane

相關問題