最近项目用到了一些es6的知识,其中大篇幅在vue框架中使用了fetch()函数,总结了一些使用的技巧:

一,

  1,POST带参数)fetch提交json格式的数据到服务器:

 //fetch替换vue-resource
let jsonData= {
params1:'param1_value',
params2:'param2_value'
};
6 fetch(
url(地址),
{
9  method: 'POST',
10  credentials: 'include',
11  headers: {(添加头文件)
  'Content-Type': 'application/json;charset=UTF-8'(指定数据类型和编码),
  'Authorization': 'Bearer ' + localStorage.access_token(在请求信息中添加assess_token验证码),
},
body: JSON.stringify(jsonData),
}
17 ).then(function(res){
18    return res.json().then((data)=>{(返回的res为原生Promise对象,需要转换)
19      console.log(data)
20    })
});
//end fetch替换vue-resource
2,GET带参数)fetch提交json格式的数据到服务器:
 params1='param1_value' ; params2='param2_value' ;
3
let url = 'http://www.cnblogs.com'+'?param1='+param1_value+'&param2='+param2_value; (get方式只能把参数拼接到url地址中进行传递)
5
6 fetch(
url(地址),
{
9  method: 'GET',
10  credentials: 'include',
11  headers: {(添加头文件)
  'Content-Type': 'application/json;charset=UTF-8'(指定数据类型和编码),
  'Authorization': 'Bearer ' + localStorage.access_token(在请求信息中添加assess_token验证码),
},
}
17 ).then(function(res){
18    return res.json().then((data)=>{(返回的res为原生Promise对象,需要转换)
19      console.log(data)
20    })
});
//end fetch替换vue-resource
  3,POST带参数)提交正常表单formData格式的数据到服务器:
提交格式为:

 <form action="。。。url地址。。。" method="post">
<input type=''text" name="name" value="认识c语言">
<input type=''text" name="cp_weight" value="0">
</form>
  4,POST带参数)fetch提交自定义表单formData格式的数据到服务器:
(在fetch下使用FormData对form表单元素进行数据封装后进行post提交至服务器,其格式被转为了WebKitFormBoundary模式,如下图)    

如果需要使用正常的formData格式提交,代码如下:

 let formData = new FormData();
formData.append('name' , '认识c语言');
formData.append('cp_weight' , '0');
fetch('url地址',{
method: 'POST',
credentials: 'include',
headers: {
// 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',(这一句一定不能加,很多人容易忽略这个地方,否则就是上图的WebKitFormBoundary格式数据)
'Authorization': 'Bearer ' + localStorage.access_token,
},
body: formData,
}).then(function(res){
return res.json().then((data)=>{
console.log(data);
})
});

fetch()函数使用的一些技巧的更多相关文章

  1. TypeScript开发ReactNative之fetch函数的提示问题

    使用TypeScript开发ReactNative时,发现在类中调用 fetch 函数时IDE可能会提示找不到,无法加载,特别是当类中存在同名的 fetch 成员方法时更是郁闷了,虽然程序是可以执行的 ...

  2. reactNative-解决react native使用fetch函数 Network request failed 问题

    解决react native使用fetch函数Network request failed问题 最近公司新开发一个app, 用react native架构好后,用xcode模拟器打开app,对接登陆接 ...

  3. MySQL的随机数函数rand()的使用技巧

    咱们学php的都知道,随机函数rand或mt_rand,可以传入一个参数,产生0到参数之间的随机整数,也可以传入两个参数,产生这两个参数之间的随机整数. 而在mysql里,随机数函数rand不能传参, ...

  4. php学习零散笔记—字符串分割、fetch函数和单双引号。

    1 字符串分割——split()函数和preg_split()函数 split — 用正则表达式将字符串分割到数组中——貌似PHP5.3以上已不赞成使用 array split ( string $p ...

  5. ES6 fetch函数与后台交互

    最近在学习react-native,遇到调用后端接口的问题.看了看官方文档,推荐使用es6的fetch来与后端进行交互,在网上找了一些资料.在这里整理,方便以后查询. 1.RN官方文档中,可使用XML ...

  6. C# 5.0 Async函数的提示和技巧

    一.创建Async函数 Async是C# 5.0中新增的关键字,通过语法糖的形式简化异步编程,它有如下三种方式: async Task<T> MyReturningMethod { ret ...

  7. JavaScript 函数(方法)的封装技巧要领及其重要性

    作为一枚程序猿,想必没有人不知道函数封装吧.在一个完整的项目开发中,我们会在JS代码中对一些常用(多个地方调用)的操作进行一个函数的封装,这样便于我们调试和重复调用,以致于能够在一定程度上减少代码的冗 ...

  8. api日常总结:前端常用js函数和CSS常用技巧

    我的移动端media html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font- ...

  9. js中字符替换函数String.replace()使用技巧

    定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replac ...

随机推荐

  1. How to verify Certificate Pinning?

    Some friends of mine they worry about the risk of Man-in-the-middle so they ask me how to verify the ...

  2. jQuery框架-2.jQuery操作DOM节点与jQuery.ajax方法

    一.jQuery操作DOM 内部插入操作: append(content|fn):向每个匹配的元素内部追加内容. prepend(content):向每个匹配的元素内部前置内容. 外部插入操作: af ...

  3. 【LightOJ1336】Sigma Function(数论)

    [LightOJ1336]Sigma Function(数论) 题面 Vjudge 求和运算是一种有趣的操作,它来源于古希腊字母σ,现在我们来求一个数字的所有因子之和.例如σ(24)=1+2+3+4+ ...

  4. 【BZOJ1477】青蛙的约会(拓展欧几里得)

    [BZOJ1477]青蛙的约会(拓展欧几里得) 题面 题目描述 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为 ...

  5. Vue-开发工具的安装

    1. github官网下载vue工具:https://github.com/vuejs/vue-devtools.并解压 2.  在有package.json的文件夹下,按住shift右键,选择&qu ...

  6. Adaboost的意义

    Adaboost是广义上的提升方法(boosting method)的一个特例.广泛应用于人脸识别等领域. 它的基本思想是,“三个臭皮匠赛过诸葛亮”,即用多个弱分类器的线性加权,来得到一个强的分类器. ...

  7. 由html,body{height:100%}引发的对html和body的思考

    html,body{height:100%} 今天看到一个CSS样式:html,body{height:100%},第一次看到,感觉挺奇怪,为什么html还需要设置height:100%呢,html不 ...

  8. angular路由详解四(子路由)

    子路由是相对路由 路由配置部分: 主要是children const routes: Routes = [ {path:'home', component: HomeComponent, childr ...

  9. Oracle-数据类型为date 日期查询技巧

    date类型是oracle中存储日期类的一种常用类型,其处理也是在数据库使用中比较多需要注意的地方.如我们可以使用to_char函数将其转化为任意时间格式的字符串,也可使用to_date函数转化相应的 ...

  10. AJAX学习笔记2:XHR实现跨域资源共享(CORS)以及和JSONP的对比----转载

    1 前言: 首先对参考文章作者表示感谢,你们的经验总结给我们这些新手提供了太多资源.本文致力于解决AJAX的CORS问题,我在逻辑上进行了梳理:首先,系统的总结了CORS问题的起源-同源策略:其次,介 ...