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

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

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

留意:源码里对错误的鉴定:

  1. isSuccess = status >= 200 && status < 300 || status === 304; 

返回值除了这几个状态码城市进error回调。

dataType

  1. "xml": 返回 XML 文档,可用 jQuery 处理赏罚。  
  2. "html": 返回纯文本 HTML 信息;包括的 script 标签会在插入 dom 时执行。  
  3. "script": 返回纯文本 JavaScript 代码。不会自动缓存功效。除非配置了 "cache" 参数。留意:在长途哀求时(不在统一个域下),全部 POST 哀求都将转为 GET 哀求。(由于将行使 DOM 的 script标签来加载) 
  4.  "json": 返回 JSON 数据 。  
  5. "jsonp": JSONP 名目。行使 JSONP 情势挪用函数时,如 "myurl?callback=?" jQuery 将自动替代 ? 为正确的函数名,以执行回调函数。  
  6. "text": 返回纯文本字符串  

data

范例:String 行使JSON.stringify转码

complete

范例:Function 哀求完成后回调函数 (哀求乐成或失败之后均挪用)。

async

范例:Boolean 默认值: true。默认配置下,全部哀求均为异步哀求。假如必要发送同步哀求,请将此选项配置为 false。

contentType

范例:String 默认值: "application/x-www-form-urlencoded"。发送信息至处事器时内容编码范例。

键值对这样组织在一样平常的环境下是没有什么题目的,这里说的一样平常是,不带嵌套范例JSON,也就是 简朴的JSON,形如这样:

  1. {  
  2.     a: 1,  
  3.     b: 2,  
  4.     c: 3  
  5. }  

可是在一些伟大的环境下就有题目了。 譬喻在 Ajax 中你要传一个伟大的 json 对像,也就说是工具嵌数组,数组中包罗工具,你这样传: application/x-www-form-urlencoded 这种情势是没有步伐将伟大的 JSON 组织成键值对情势。

  1. {  
  2.   data: {  
  3.     a: [{  
  4.       x: 2  
  5.     }]  
  6.   }  
  7. }  

可以用如下方法转达伟大的json工具

  1. $.ajax({  
  2.     dataType: 'json',  
  3.     contentType: 'application/json',  
  4.     data: JSON.stringify({a: [{b:1, a:1}]})  
  5. })  

七、jQuery的更换者

连年来前端MV*的成长壮大,人们越来越少的行使jQuery,我们不行能单独为了行使jQuery的Ajax api来单独引入他,无可停止的,我们必要探求新的技能方案。

尤雨溪在他的文档中保举各人用axios举办收集哀求。axios基于Promise对原生的XHR举办了很是全面的封装,行使方法也很是的优雅。其它,axios同样提供了在node情形下的支持,可谓是收集哀求的首选方案。

将来一定还会呈现更优越的封装,他们有很是周全的思量以及具体的文档,这里我们不多做讲求,我们把存眷的重点放在更底层的APIfetch。

Fetch API 是一个用用于会见和哄骗HTTP管道的强盛的原生 API。

这种成果早年是行使 XMLHttpRequest实现的。Fetch提供了一个更好的更换要领,可以很轻易地被其他技能行使,譬喻 Service Workers。Fetch还提供了单个逻辑位置来界说其他HTTP相干观念,譬喻CORS和HTTP的扩展。

可见fetch是作为XMLHttpRequest的更换品呈现的。

行使fetch,你不必要再特殊加载一个外部资源。但它还没有被赏识器完全支持,以是你如故必要一个 polyfill。

八、fetch的行使

一个根基的 fetch哀求:

  1. const options = {  
  2.     method: "POST", // 哀求参数  
  3.     headers: { "Content-Type": "application/json"}, // 配置哀求头  
  4.     body: JSON.stringify({name:'123'}), // 哀求参数  
  5.     credentials: "same-origin", // cookie配置  
  6.     mode: "cors", // 跨域  
  7. }  
  8. fetch('http://www.xxx.com',options)  
  9.   .then(function(response) {  
  10.     return response.json();  
  11.   })  
  12.   .then(function(myJson) {  
  13.     console.log(myJson); // 相应数据  
  14.   })  
  15.   .catch(function(err){  
  16.     console.log(err); // 非常处理赏罚  
  17.   })  

(编辑:湖南网)

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

热点阅读