详解如何在Vue项目中发送jsonp请求


Posted in Javascript onOctober 25, 2019

起因

公司临时要支撑河南的一个项目,做一个单点登录的功能。

简单来说,就是以下3步

客户方点击某个按钮进入我们的页面a

在页面a中由前端发送一个jsonp请求到客户方,得到一个token值

前端得到token值后向自己后端发送一个请求,后端根据token去redis(token的值就是redis里的key)里取值(key=token的值,value=用户信息等)判断用户是否已登陆,若登陆则根据取到的工号等信息后端模拟登陆,若没有登陆,则跳转到客户方登陆页面

怎么做

发送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里返回不了呢,打印也打印不出来。。。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
新闻内页-JS分页
Jun 07 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
JSP跨iframe如何传递参数实现代码
Sep 21 Javascript
JS图片自动轮换效果实现思路附截图
Apr 30 Javascript
一个获取第n个元素节点的js函数
Sep 02 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
Jan 27 Javascript
微信小程序 wx:for的使用实例详解
Apr 27 Javascript
mpvue将vue项目转换为小程序
Sep 30 Javascript
详解babel升级到7.X采坑总结
May 12 Javascript
JS监听组合按键思路及实现过程
Apr 17 Javascript
JavaScript自定义超时API代码实例
Apr 30 Javascript
layui实现form表单同时提交数据和文件的代码
Oct 25 #Javascript
vue实现弹幕功能
Oct 25 #Javascript
vue指令v-html使用过滤器filters功能实例
Oct 25 #Javascript
使用layui前端框架弹出form表单以及提交的示例
Oct 25 #Javascript
layui form表单提交后实现自动刷新
Oct 25 #Javascript
jquery实现购物车基本功能
Oct 25 #jQuery
vue中@change兼容问题详解
Oct 25 #Javascript
You might like
咖啡的传说和历史
2021/03/03 新手入门
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
为百度UE编辑器上传图片添加水印功能
2015/04/16 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
javascript回到顶部特效
2016/07/30 Javascript
jQuery焦点图轮播效果实现方法
2016/12/19 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python常用知识点汇总
2016/05/08 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
python实现石头剪刀布程序
2021/01/20 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
德国苹果商店:MacTrade
2020/05/18 全球购物
后勤岗位职责
2013/11/26 职场文书
日语求职信范文
2013/12/17 职场文书
认识深刻的检讨书
2014/02/16 职场文书
新教师岗前培训方案
2014/06/05 职场文书
大学生就业自荐书
2014/06/16 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书