W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
React Native 的一個(gè)目標(biāo)是成為一個(gè)游樂(lè)場(chǎng)所,在這里我們可以嘗試不同的體系結(jié)構(gòu)和瘋狂的想法。自從瀏覽器使用起來(lái)不夠靈活,我們別無(wú)選擇,只能去實(shí)現(xiàn)整個(gè)堆棧。在這個(gè)我們并不打算改變什么的地方,我們?cè)噲D盡可能忠實(shí)于瀏覽器的 APIS。網(wǎng)絡(luò)協(xié)議棧是一個(gè)很好的例子。
XMLHttpRequest API 是在 iOS networking apis 之上實(shí)現(xiàn)的。與 web 顯著的區(qū)別是其安全模式:由于沒(méi)有 CORS的概念,你可以從互聯(lián)網(wǎng)上的任一網(wǎng)站上進(jìn)行閱讀。
var request = new XMLHttpRequest(); request.onreadystatechange = (e) => { if (request.readyState !== 4) { return; } if (request.status === 200) { console.log('success', request.responseText); } else { console.warn('error'); } }; request.open('GET', 'https://mywebsite.com/endpoint.php'); request.send();
請(qǐng)按照 MDN Documentation,一個(gè)對(duì) API 進(jìn)行了完整描述的文檔。
作為一個(gè)開發(fā)人員,你可能不會(huì)直接將 XMLHttpRequest 對(duì)象作為他的 API,因?yàn)檫@是一個(gè)非常繁瑣的工作。但事實(shí)上,他的實(shí)現(xiàn)和與瀏覽器 APIS 的兼容能夠使你使用第三方庫(kù),例如,直接來(lái)自 npm 的 Parse 和 super-agent。
Fetch 是一種更好的網(wǎng)絡(luò) API,它的工作是通過(guò)標(biāo)準(zhǔn)委員會(huì)完成,并且已經(jīng)在火狐瀏覽器上可以使用。默認(rèn)情況下在 React Native 上也是可用的。
fetch('https://mywebsite.com/endpoint.php') .then((response) => response.text()) .then((responseText) => { console.log(responseText); }) .catch((error) => { console.warn(error); });
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: