• hello fetch


    /**
     * 将对象转成 a=1&b=2的形式
     * @param obj 对象
     */
    function obj2String(obj, arr = [], idx = 0) {
      for (let item in obj) {
        arr[idx++] = [item, obj[item]]
      }
      return new URLSearchParams(arr).toString()
    }
    
    /**
     * 真正的请求
     * @param url 请求地址
     * @param options 请求参数
     * @param method 请求方式
     */
    function commonFetcdh(url, options, method = 'GET') {
      const searchStr = obj2String(options)
      let initObj = {}
      if (method === 'GET') { // 如果是GET请求,拼接url
        url += '?' + searchStr
        initObj = {
          method: method,
          credentials: 'include'
        }
      } else {
        initObj = {
          method: method,
          credentials: 'include',
          headers: new Headers({
            'Accept': 'application/json',
            'Content-Type': 'application/x-www-form-urlencoded'
          }),
          body: searchStr
        }
      }
      fetch(url, initObj).then((res) => {
        return res.json()
      }).then((res) => {
        return res
      })
    }
    
    /**
     * GET请求
     * @param url 请求地址
     * @param options 请求参数
     */
    function GET(url, options) {
      return commonFetcdh(url, options, 'GET')
    }
    
    /**
     * POST请求
     * @param url 请求地址
     * @param options 请求参数
     */
    function POST(url, options) {
      return commonFetcdh(url, options, 'POST')
    }

    摘自https://segmentfault.com/a/1190000011433064

  • 相关阅读:
    284. Peeking Iterator
    283. Move Zeroes
    282. Expression Add Operators
    281. Zigzag Iterator
    280. Wiggle Sort
    279. Perfect Squares
    python 正则匹配替换,在匹配的字符后方添加新的字符
    odoo default_get 方法和onchange装饰器造成冲突,
    redmine 如何启用用户图标
    odoo 打印执行的sql语句
  • 原文地址:https://www.cnblogs.com/SharkChilli/p/8891524.html
Copyright © 2020-2023  润新知