前言
React Native逻辑部分使用javascript引擎作为支撑,因此,原则上我们可以使用ServerSent、Ajax、WebSocket请求以及ES6。
Fetch网络请求
Fetch是为了改善Ajax处理逻辑而推出新的请求api,具体使用请参考(Using Fetch Api)
要从任意地址获取内容的话,只需简单地将网址作为参数传递给fetch方法即可(fetch这个词本身也就是【获取】的意思):
fetch('https://mywebsite.com/mydata.json')
Fetch还有可选的第二个参数,可以用来定制HTTP请求一些参数。你可以指定header参数,或是指定使用POST方法,又或是提交数据等等:
fetch('https://mywebsite.com/endpoint/', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
firstParam: 'yourValue',
secondParam: 'yourOtherValue',
})
})
此外,下载图片也是可以的
var myImage = document.querySelector('img');
fetch('flowers.jpg').then(function(response) {
return response.blob();
}).then(function(myBlob) {
var objectURL = URL.createObjectURL(myBlob);
myImage.src = objectURL;
});
提交数据的格式关键取决于headers中的Content-Type。Content-Type有很多种,对应