不受跨域影响,请求jsonp接口的插件——fetch-jsonp
https://www.npmjs.com/package/fetch-jsonp
axios不能请求.jsonp类型接口,所以需要fetch-jsonp
jsonp类型的接口不受跨域影响
- 安装:
npm install fetch-jsonp - 对于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.
- 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的不同
- 名字的默认值不同
- jsonpCallback设置的是回调参数的名字,jsonpCallbackFunction设置的是回调函数的名字
浙公网安备 33010602011771号