如何在 Vue 項目中發送 jsonp 請求


 

怎么做

發送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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM