加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

全面说明前端的收集哀求方法

发布时间:2019-03-28 18:35:56 所属栏目:建站 来源:ConardLi
导读:一、前端举办收集哀求的存眷点 大大都环境下,在前端提倡一个收集哀求我们只需存眷下面几点: 传入根基参数(url,哀求方法) 哀求参数、哀求参数范例 配置哀求头 获取相应的方法 获取相应头、相应状态、相应功效 非常处理赏罚 携带cookie配置 跨域哀求 二、前

回首下fetch中对Response`的操纵: 

  1. xhr.onload = function () {  
  2.       var options = {  
  3.         status: xhr.status,  
  4.         statusText: xhr.statusText,  
  5.         headers: parseHeaders(xhr.getAllResponseHeaders() || '')  
  6.       }  
  7.       options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')  
  8.       var body = 'response' in xhr ? xhr.response : xhr.responseText  
  9.       resolve(new Response(body, options))  
  10.     }  

Response结构函数:

可见在结构函数中首要对options中的status、statusText、headers、url等别离做了处理赏罚并挂载到Response工具上。

结构函数内里并没有对responseText的明晰处理赏罚,最后交给了_initBody函数处理赏罚,而Response并没有主动声明_initBody属性,代码最后行使Response挪用了Body函数,现实上_initBody函数是通过Body函数挂载到Response身上的,先来看看_initBody函数:

可见,_initBody函数按照xhr.response的范例(Blob、FormData、String...),为差异的参数举办赋值,这些参数在Body要领中获得差异的应用,下面详细看看Body函数还做了哪些其他的操纵:

Body函数中还为Response工具挂载了四个函数,text、json、blob、formData,这些函数中的操纵就是将_initBody中获得的差异范例的返回值返回。

这也声名白,在fetch执行完毕后,不能直接在response中获取到返回值而必需挪用text()、json()等函数才气获取到返回值。

这里尚有一点必要声名:几个函数中都有相同下面的逻辑: 

  1. var rejected = consumed(this)  
  2.    if (rejected) {  
  3.      return rejected  
  4.    }  

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读