VUE2.0音乐JSONP封装

1)项目先安装原JSONP

npm install jsonp --save

2)在src的common通用文件里的js新建jsonp.js用于封装原JSONP
内容

import originJsonp from 'jsonp'  //引入原jsonp

export default function jsonp(url, data, option) {
  url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)  //判断是否有'?'确定添加'?'or'&'

  return new Promise((resolve, reject) => {  //返回Promise对象
    originJsonp(url, option, (err, data) => {
      if (!err) {
        resolve(data)
      } else {
        reject(err)
      }
    })
  })
}

export function param(data) {
  let url = ''
  for (var k in data) {
    let value = data[k] !== undefined ? data[k] : ''
    url += `&${k}=${encodeURIComponent(value)}`
  }
  return url ? url.substring(1) : ''  //第一个'&'不需要,去除
}

你可能感兴趣的:(VUE2.0音乐JSONP封装)