公司臨時要支撐河南的一個項目,作一個單點登陸的功能。 簡單來講,就是如下👇👇👇3步
發送jsonp請求,axios官方貌似並不支持,因此排除🙅🏻♀️ 通過展轉Google,發現了*vue-jsonp*這個插件
官方地址:vue-jsonpjavascript
npm install vue-jsonp --save-dev
import Vue from 'vue' import VueJsonp from 'vue-jsonp' Vue.use(VueJsonp)
<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 youvue