详解如何在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 相关文章推荐
javascript转换字符串为dom对象(字符串动态创建dom)
May 10 Javascript
19个很有用的 JavaScript库推荐
Jun 27 Javascript
JavaScript中的style.display属性操作
Mar 27 Javascript
如何在node的express中使用socket.io
Dec 15 Javascript
JS中递归函数
Jun 17 Javascript
JavaScript中的事件委托及好处
Jul 12 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
Dec 01 Javascript
React 组件间的通信示例
Jun 14 Javascript
微信小程序实现点击卡片 翻转效果
Sep 04 Javascript
vue学习之Vue-Router用法实例分析
Jan 06 Javascript
Vue实现导入Excel功能步骤详解
Jul 03 Vue.js
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
PHP静态新闻列表自动生成代码
2007/06/14 PHP
php进行ip地址掩码运算处理的方法
2016/07/11 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
js格式化时间小结
2014/11/03 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
2017/12/21 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
python 模拟登陆github的示例
2020/12/04 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
临床医师专业个人自我评价范文
2013/11/07 职场文书
融资租赁计划书
2014/04/29 职场文书
学生保证书
2015/01/16 职场文书
地陪导游欢迎词
2015/01/26 职场文书
介绍长城的导游词
2015/01/30 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python