怎么做
發送jsonp請求,axios官方貌似並不支持,所以排除
經過輾轉Google,發現了*vue-jsonp*這個插件
使用vue-jsonp
官方地址:vue-jsonp
- 下載
npm install vue-jsonp --save-dev
- 引入項目
import Vue from 'vue' import VueJsonp from 'vue-jsonp' Vue.use(VueJsonp)
- 然后,我們就可以在項目中愉快地使用啦!
項目中xxx.vue文件
<script> export default { data() {...}, created() { // this.getJson() }, mounted() { window.jsonpCallback = (data) => { console.log(data.token) // 調用獲取后端token的方法 this.getToken(data.token) } }, methods: { getJson() { this.$jsonp(this.url, { callbackQuery: "callbackParam", callbackName: "jsonpCallback" }) .then((json) => { // 返回的jsonp數據不會放這里,而是在 window.jsonpCallback console.log(json) }) }, getToken(token) { this.axios.post('/xxxurl') .then((res) => { // success 之后就正常登陸了 }) } } } </script>
是不是so easy 🤡但是真的整了一晚上才整出來,誰能知道jsonp的返回值在then里返回不了呢,打印也打印不出來。。。
就醬。see you