vue-jsonp的使用及說明
vue-jsonp的使用
最近在做手寫輸入法時(shí)遇到跨域問題,使用的是qq輸入法的接口,代理無法實(shí)現(xiàn)效果,這里使用jsonp來實(shí)現(xiàn)。
jsonp原理可以自行百度,這里記錄一下vue-jsonp的使用和踩的一點(diǎn)小坑,官方文檔請前往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
,導(dǎo)入時(shí)注意使用 { }
解構(gòu)賦值,網(wǎng)上有部分教程為老版本,有需要可以前往前言中的npm官方地址,有具體使用教程。
vue文件使用
this.$jsonp('/some-jsonp-url', { myCustomUrlParam: 'veryNice' }).then(res => { // 此處代碼不執(zhí)行 // 因?yàn)闀?huì)直接調(diào)用返回的那個(gè)回調(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) ? ? ?})
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vuerouter的beforeEach與afterEach鉤子函數(shù)的區(qū)別
本文詳細(xì)的介紹了Vuerouter的beforeEach與afterEach鉤子函數(shù)的區(qū)別和使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12