在前端開(kāi)發(fā)過(guò)程中,經(jīng)常需要獲取數(shù)據(jù),而JSON是一種常用的數(shù)據(jù)格式。在H5頁(yè)面中,我們可以通過(guò)AJAX請(qǐng)求獲取JSON數(shù)據(jù)。
下面是一個(gè)獲取JSON數(shù)據(jù)的示例代碼:
var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var data = JSON.parse(xhr.responseText); // 使用獲取到的數(shù)據(jù) } }; xhr.open("GET", "/data.json", true); xhr.send();
我們可以看到上述代碼中使用了XMLHttpRequest對(duì)象請(qǐng)求JSON數(shù)據(jù)。在請(qǐng)求成功后,使用JSON.parse方法將JSON數(shù)據(jù)轉(zhuǎn)換為JavaScript對(duì)象。之后就能夠使用獲取到的數(shù)據(jù)了。
在實(shí)際開(kāi)發(fā)中,我們可能會(huì)遇到跨域請(qǐng)求的問(wèn)題。此時(shí),可以使用JSONP來(lái)獲取數(shù)據(jù)。下面是一個(gè)JSONP示例代碼:
function handleData(data) { // 使用獲取到的數(shù)據(jù) } var script = document.createElement('script'); script.src = 'http://example.com/data.json?callback=handleData'; document.body.appendChild(script);
上述代碼中,我們通過(guò)動(dòng)態(tài)創(chuàng)建一個(gè)script標(biāo)簽,設(shè)置src為獲取JSON數(shù)據(jù)的URL,并在URL中帶上callback參數(shù)。服務(wù)端會(huì)返回一個(gè)回調(diào)函數(shù)的調(diào)用,此時(shí)我們的handleData函數(shù)就會(huì)被調(diào)用,拿到JSON數(shù)據(jù)。
以上就是H5頁(yè)面中請(qǐng)求JSON數(shù)據(jù)的示例代碼及解釋。希望對(duì)您的開(kāi)發(fā)有所幫助。