fetch的请求封装

简介: fetch的请求封装

封装fetch请求


目录的划分(utils,api)



  • 将网络请求分成两个部分


  • 对于fetch的封装(utils/http.js)


const qs = require('querystring')
export function get(url) {
  return fetch(url).then(res => res.json())
}
export function post(url, prams) {
  prams = {
    method: 'post',
    headers: {
      'Accept': 'application/json, text/plain, */*',
      'content-type': 'application/x-www-form-urlencoded'
    },
    //将参数转化为由&连接的字符串
    body: qs.stringify(prams)
  }
  return fetch(url, prams).then(res => res.json())
}


  • 对于请求函数的封装,让其引入到组件中就能通过.then或async await就能调用,不用传递任何参数


  • 对于路径的处理,放在api/base.js文件中


export default base = {
  // 这里是公共路径http://iwenwiki.com/api/blueberrypai/getChengpinInfo.php
  baseUrl: 'http://127.0.0.1',
  // 下面是该项目的子路径
  // 例如商品路径
  category: '/category'
}


  • 对于请求函数的封装放在api/index.js文件中


import base from './base'
import {get, post} from '../utils/http'
/**
 * get方法只有一个url作为参数
 * 
 * post方法参数一是url, 参数二是传递的数据(对象)
 */
// 这里是一些最终可用的网路请求函数
export function getCategory() {
  let url = base.baseUrl + base.category
  return get(url)
}
export function postCategory() {
  let url = base.baseUrl + base.category
  return get(url, {
    username: 'zh',
    age: '20'
  })
}



相关文章
|
3月前
|
JavaScript 前端开发 数据安全/隐私保护
如何使用request-promise在发送请求时使用代理?
以上方法演示了如何在发送请求时使用 `request-promise`结合代理服务,适用于需要通过代理访问网络资源的场景。
56 0
|
6月前
|
JSON 前端开发 JavaScript
Fetch API与Ajax请求
Fetch API是JavaScript的一种新方法,用于网络请求,提供简洁的Promise-based语法和更多功能,如处理头、取消请求及跨域支持,比Ajax更强大。尽管不完全替代Ajax,尤其在老浏览器或需要底层控制时,Fetch API仍是现代浏览器中获取资源的优选工具。例如,以下代码展示了如何使用Fetch API进行GET和POST请求。
|
6月前
|
前端开发 JavaScript API
|
6月前
|
前端开发
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
|
6月前
|
前端开发 JavaScript
解决Ajax发送DELETE请求时后台无法接收到参数的问题(Restful风格)
解决Ajax发送DELETE请求时后台无法接收到参数的问题(Restful风格)
173 0
|
Web App开发 网络协议 安全
GET和POST两种基本请求方法的区别
GET和POST两种基本请求方法的区别
jira学习案例25-用fetch封装http请求
jira学习案例25-用fetch封装http请求
63 0
jira学习案例25-用fetch封装http请求
|
XML JSON 前端开发
你知道Ajax、Fetch、Axios三者的区别吗?
前言 做前端开发的小伙伴一定离不开“请求”两个字,这是我们与后端交互的最重要的途径!在前几年面试的时候,面试官很喜欢问的一个问题就是让面试者手撕代码实现 Ajax,我相信很多小伙伴一定遇到过。直至今日,又出现了许多关于请求的新名词,今天就来理一理这些新名词的区别。 这些名词的共同点:都用于发送网络请求。
302 0
你知道Ajax、Fetch、Axios三者的区别吗?