javascript JSONP封装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 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)
      }
    })
  })
}
// resolve和reject两个参数是两个函数,
// resolve将promise对象的状态从pending变成resolved,在异步操作成功时调用,并将异步操作的结果,作为参数传递出去
// reject函数是从pending到rejected,在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去
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) : ''
}

以上是关于javascript JSONP封装的主要内容,如果未能解决你的问题,请参考以下文章

javascript JSONP封装

原生javascript实现jsonp的封装

封装通用的jsonp方式

封装 jsonp请求数据的方法

Node+H5 实现简单的 JSONP 封装

JavaScript入门