vue-jsonp的使用及說明
vue-jsonp的使用
最近在做手寫輸入法時遇到跨域問題,使用的是qq輸入法的接口,代理無法實現(xiàn)效果,這里使用jsonp來實現(xiàn)。
jsonp原理可以自行百度,這里記錄一下vue-jsonp的使用和踩的一點小坑,官方文檔請前往npm地址。
安裝
npm install vue-jsonp -S
或者
yarn add vue-jsonp

使用
mian.js引用
// main.js
import Vue from 'vue'
import { VueJsonp } from 'vue-jsonp'
Vue.use(VueJsonp) // $jsonp被掛載到vue原型上,可直接使用vm.$jsonp()
注意:此處包版本為 2.0.0 ,導入時注意使用 { } 解構(gòu)賦值,網(wǎng)上有部分教程為老版本,有需要可以前往前言中的npm官方地址,有具體使用教程。
vue文件使用
this.$jsonp('/some-jsonp-url', {
myCustomUrlParam: 'veryNice'
}).then(res => {
// 此處代碼不執(zhí)行
// 因為會直接調(diào)用返回的那個回調(diào)函數(shù)
})
假設(shè)返回的函數(shù)名稱為callbackFun,需要 在window對象上綁定 callbackFun函數(shù)
mounted() {
// 將callbackFun方法綁定到window對象
window['callbackFun'] = (data) => {
cosole.log('定義的回調(diào)函數(shù)')
}
// 假設(shè)返回的為callbackFun.ajax_callback()
window['callbackFun'] = {
ajax_callback: function (res) {
cosole.log('定義的回調(diào)函數(shù)')
}
}
}
注意:jsonp請求方式僅為 get
vue+jsonp跨域
npm install vue-jsonp --save
main.js中添加
import { VueJsonp } from 'vue-jsonp'?使用
? this.$jsonp('http://127.0.0.1:8085/api/api/' , {
? ? ?}).then((res)=>{
? ? ? ?console.log(res)
? ? ?})以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vuerouter的beforeEach與afterEach鉤子函數(shù)的區(qū)別
本文詳細的介紹了Vuerouter的beforeEach與afterEach鉤子函數(shù)的區(qū)別和使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12

