四十、vue中封裝jsonp -开发者知识库

四十、vue中封裝jsonp -开发者知识库,第1张

一、安裝jsonp

"dependencies": {
  "vue": "^2.3.3",
  "vue-router": "^2.5.3",
  "vuex": "^2.3.1",
  "fastclick": "^1.0.6",
  "vue-lazyload": "1.0.3",
  "axios": "^0.16.1",
  "jsonp": "0.2.1"
},
二、封裝
import originJsonp from 'jsonp'

// 封裝一個JSONP
export default function jsonp(url, data, option) {
  url  = (url.indexOf('?') < 0 ? '?' : '&')   param(data)

  return new Promise((resolve, reject) => {
    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) : ''
}

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复