不受跨域影响,请求jsonp接口的插件——fetch-jsonp

https://www.npmjs.com/package/fetch-jsonp

axios不能请求.jsonp类型接口,所以需要fetch-jsonp
jsonp类型的接口不受跨域影响

  1. 安装:npm install fetch-jsonp
  2. 对于IE等不支持es6的浏览器:require('es6-promise').polyfill();

IE8/9/10/11 does not support ES6 Promise, run this to polyfill the global environment at the beginning of your application.

  1. fetch-jsonp和jsonp一样支支持GET方法
fetchJsonp('/users.jsonp', option?: Object)
  .then(function(response) {
    return response.json()
  }).then(function(json) {
    console.log('parsed json', json)
  }).catch(function(ex) {
    console.log('parsing failed', ex)
  })
option:可选参数,可设置三个属性
{
  jsonpCallback: 'custom_callback',    //回调参数的名字,默认为:callback
  jsonpCallbackFunction: 'function_name_of_jsonp_response',    //回调函数的名字,默认为:jsonp_一个随机数
  timeout: 3000,    //请求超时的事件,默认为:5000ms
}

jsonpCallback和jsonpCallbackFunction的不同

  1. 名字的默认值不同
  2. jsonpCallback设置的是回调参数的名字,jsonpCallbackFunction设置的是回调函数的名字

posted on 2022-03-02 23:43  In-6026  阅读(558)  评论(0)    收藏  举报

导航