Fetch

参考文章:

MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/Fetch_API

MDN: https://developer.mozilla.org/zh-CN/docs/Web/API/GlobalFetch/fetch

fetch-ie8 : https://github.com/camsong/fetch-ie8

fetch字段讲解:https://www.w3ctech.com/topic/854

fetch字段讲解: https://gold.xitu.io/entry/583684d4880741006c081fa6

传统 Ajax 已死,Fetch 永生 :https://github.com/camsong/blog/issues/2

重点看一下配置项里面各字段的含义

init 可选一个配置项对象,包括所有对请求的设置。可选的参数有:

  • method: 请求使用的方法,如 GETPOST。
  • headers: 请求的头信息,形式为 Headers 对象或 ByteString
  • body: 请求的 body 信息:可能是一个 BlobBufferSourceFormDataURLSearchParams 或者 USVString 对象。注意 GET 或 HEAD 方法的请求不能包含 body 信息。
  • mode: 请求的模式,如 cors、 no-cors 或者 same-origin。
  • credentials: 请求的 credentials,如 omitsame-origin 或者 include。
  • cache:  请求的 cache 模式: defaultno-storereloadno-cacheforce-cache, or only-if-cached.

 

header中常用的选项是

'Accept': 期望接受的数据类型

如:'application/json'   

 

'Content-Type' :body的内容格式

'application/x-www-form-urlencoded;charset=utf-8';  

multipart/form-data

application/json

text/xml

 

属性

method 请求的方法POST/GET等
url 请求的地址
headers 请求头(可以是Headers对象,也可是JSON对象)
context 请求的上下文
referrer 指定请求源地址
mode 请求的模式(是跨域cors还是正常请求no-cors)
credentials 跨域请求时,是否携带cookie信息(omit跨域携带/same-origin同源携带)
redirect 重定向
integrity 一个散列值,用于检验请求资源的完整性MDN
cache 是否缓存这个请求

 

 

尝试跨域请求:

fetch ('http://localhost:8018/category/list.ajax',{

mode: 'cors',

credentials: 'include'

}).then(function (res){

if(res.ok) {

return res.json()

}

}).then(function (data){

console.log(data)

 

})

 

首先是浏览器的fetch 设置 mode为cors

然后服务器设置允许跨域访问

 

express

app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", '*');
res.header('Access-Control-Allow-Methods', 'GET,POST,DELETE,PUT');

res.header("Access-Control-Allow-Credentials", true);
res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Authorization');
if (req.method === 'OPTIONS') {
return res.sendStatus(200);
}
next();
});

fetch的credentials枚举属性决定了cookies是否能跨域得到。这个属性与XHR的withCredentials标志相同,但是只有三个值,分别是"omit"(默认),"same-origin"以及"include"。

omit  是不带cookie   same-origin 是同源请求才带cookie   include可以保证跨域请求也带cookie。

 

mode属性用来决定是否允许跨域请求,以及哪些response属性可读。可选的mode属性值为same-originno-cors(默认)以及cors

转载于:https://www.cnblogs.com/520yang/articles/6259615.html

### IntelliJ IDEA Fetch 功能概述 IntelliJ IDEA 的 `Fetch` 操作主要用于 Git 版本控制系统中的远程仓库同步功能。它允许开发者从远程仓库获取最新的更改而不影响本地的工作副本[^1]。具体来说,`Fetch` 不会自动合并或修改当前分支的状态,而是将远程更新拉取到本地的远程跟踪分支上。 以下是关于 IntelliJ IDEA 中 `Fetch` 操作的一些重要细节: #### 如何执行 Fetch 操作 可以通过以下方式在 IntelliJ IDEA 中触发 `Fetch` 操作: 1. 使用快捷键组合:`Ctrl + T` 或者通过菜单栏导航至 **VCS -> Git -> Fetch**。 2. 右击项目的根目录,在上下文菜单中选择 **Git -> Fetch**。 此操作完成后,IDE 将显示来自远程仓库的新提交记录以及分支状态的变化[^4]。 #### Fetch 和 Pull 的区别 虽然两者都涉及从远程仓库获取数据,但它们的功能有所不同: - **Fetch**: 仅下载远程改动并存储于本地对应的远程分支下,不会直接影响工作区文件。 - **Pull**: 是先执行一次 Fetch,随后立即尝试将这些变化应用(即合并)到当前活动分支之上。 因此,在团队协作开发过程中,建议频繁使用 Fetch 来了解其他成员所做的贡献而无需立刻改变自己的代码环境[^3]。 ```bash git fetch origin main ``` 上述命令演示了如何手动运行一个标准的 Git fetch 命令来获取指定远程分支上的最新变更。 #### 自动化设置定期 Fetch 为了保持持续集成管道畅通无阻或者及时发现冲突问题,可以配置定时任务来进行自动化 Fetch 流程。这通常涉及到脚本编写与调度程序安排相结合的方式实现[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值