Chrome 拓展开发 Service Worker 无法使用 XMLHttpRequest 发送 HTTP 请求

相关的报错信息:
XMLHttpRequest is not defined at chrome-extension:

原因

显然, Service Worker 不支持 XMLHttpRequest

解决方案

用 fetch

相关资料


通过 fetch 上传 JSON 数据

const data = { username: 'example' };    // 定义数据

fetch('https://example.com/profile', {
  method: 'POST', // or 'PUT'            // 指定请求方法
  headers: {
    'Content-Type': 'application/json',  // 指定内容类型
  },
  body: JSON.stringify(data),            // 传入内容
})
  .then((response) => response.json())   // 取响应 json
  .then((data) => {                      // 对解析完成的 json 进行操作
    console.log('Success:', data);
  })
  .catch((error) => {                    // 捕捉错误
    console.error('Error:', error);
  });

或者最简单的, 仅仅上传, 不考虑响应与异常情况

const data = { username: 'example' };    // 定义数据

fetch('https://example.com/profile', {
  method: 'POST', // or 'PUT'            // 指定请求方法
  headers: {
    'Content-Type': 'application/json',  // 指定内容类型
  },
  body: JSON.stringify(data),            // 传入内容
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值