在進(jìn)行前端開發(fā)中,很多時(shí)候需要從不同的來源讀取數(shù)據(jù)。如果要從一個(gè)域名下的頁面訪問另一個(gè)域名下的json數(shù)據(jù),就需要使用跨域方法來獲取數(shù)據(jù)。在這種情況下,我們可以使用jQuery中的$.get()方法來做到這件事。
$.get()方法是一種jQuery的AJAX方法,它可以向服務(wù)器發(fā)送HTTP GET請(qǐng)求來獲取數(shù)據(jù)。它的語法非常簡單:
<script> $.get(url, function(data, status){ //操作數(shù)據(jù)的代碼 }); </script>
其中,url參數(shù)是我們要獲取數(shù)據(jù)的位置,data參數(shù)是獲取到的數(shù)據(jù),status參數(shù)是數(shù)據(jù)請(qǐng)求狀態(tài)。
對(duì)于跨域讀取json文件的方法,有一個(gè)非常重要的技巧,就是要在目標(biāo)域名的服務(wù)器上設(shè)置響應(yīng)頭信息。
header('Access-Control-Allow-Origin: *'); header('Content-Type: application/json; charset=utf-8');
在設(shè)置好響應(yīng)頭信息之后,我們就可以使用$.get()方法來讀取json數(shù)據(jù)了:
<script> var url = 'http://example.com/data.json'; $.get(url, function(data, status){ console.log('數(shù)據(jù)內(nèi)容:', data); }); </script>
在這個(gè)例子中,我們從example.com這個(gè)外部域名上讀取了data.json這個(gè)文件,并輸出了它的內(nèi)容到控制臺(tái)中。
總結(jié)一下,通過$.get()方法來跨域讀取json文件,我們不但可以更方便地獲取數(shù)據(jù),也可以避免跨域訪問帶來的問題。如果你在前端開發(fā)中需要讀取數(shù)據(jù),不妨試試這個(gè)方法。