jsonp请求数据

借助jsonp开源库获取数据,因为要多处用到,所以先自己封装一个jsonp

import originJSONP from '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) } }) }) } function param(data) { var url = '' for (var k in data) { let value = data[k] !== undefined ? data[k] : '' url += `&${k}=${encodeURIComponent(value)}` } return url ? url.substring(1) : '' }

举个例子:
import jsonp from 'common/js/jsonp'

const commonParams = {
  g_tk: 1854375149,
  inCharset: 'utf-8',
  outCharset: 'utf-8',
  notice: 0,
  format: 'jsonp'
}

const options = {
  param: 'jsonpCallback'
}

export function getTopList() {
  const url = 'https://c.y.qq.com/v8/fcg-bin/fcg_myqq_toplist.fcg'
  const data = Object.assign({}, commonParams, {
    platform: 'h5',
    needNewCode: 1,
    g_tk: 1121516795,
    notice: 0
  })
  return jsonp(url, data, options)
}

 

 
posted @ 2019-07-30 14:53  夕落^  阅读(395)  评论(0)    收藏  举报