Progressive Web Apps(PWA)核心技术-Fetch API

简单来说Fetch API就是一个请求资源的接口,比XMLHttpRequest更简单。
Fetch支持跨源资源共享(CORS),正式环境需要HTTPS。

请求示例:

fetch('examples/example.json')
.then(function(response) {
  if (!response.ok) {
    throw Error(response.statusText);
  }
  // Read the response as json.
  return response.json();//这里可以响应json、text、blob等
})
.then(function(responseAsJson) { 
  // Do stuff with the JSON
  console.log(responseAsJson);
})
.catch(function(error) {
  console.log('Looks like there was a problem: \n', error);
});

自定义请求

1、设置请求方法

fetch('examples/words.txt', {
  method: 'HEAD'
})

2、POST请求

//基本方式
fetch('someurl/comment', {
  method: 'POST',
  body: 'title=hello&message=world'
})

// form表单方式
fetch('someurl/comment', {
  method: 'POST',
  body: new FormData(document.getElementById('myForm')
})

3、定义header

var myHeaders = new Headers({
  'Content-Type': 'text/plain',
  'X-Custom-Header': 'hello world'
});

fetch('/someurl', {
  headers: myHeaders
});

4、跨域请求
通常跨越解决方案:
jsonp、服务端设置Access-Control-Allow-Origin:*、添加mode:’no-cors’

  // 添加mode
fetch('http://bar.com/data.json', {
  mode: 'no-cors' // 'cors' by default
}) 
.then(function(response) {
  // Do something with response
});

参考链接:
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值