美文网首页前端框架
关于vue-resource的jsonp跨域问题

关于vue-resource的jsonp跨域问题

作者: 白鳝 | 来源:发表于2017-01-06 18:18 被阅读1198次

首先描述一下问题。

由于特殊原因,在使用jsonp调用跨域请求时,回调函数是写在其中一个params里面,并不和params平级,而vue-resource会自动生成一个callback函数,造成回调函数名称对应不上,一直报错。

简单点说就是:vue-resource不能自定义回调函数名称。

解决路径:翻阅了所有baidu google,找不到解决方法。

一气之下直接去翻看源码,发现源码每次都会自动生产回调函数,而且是强制生成,一怒之下直接修改源码。

找到vue-resource里的jsonpClient方法。

看到callback = '_jsonp'+ Math.random().toString(36).substr(2)

修改为:callback = request.params.callback ||'_jsonp'+ Math.random().toString(36).substr(2)

重新打包,在params里定义自定义回调函数,问题解决。完毕。希望对后面踩坑着有所帮助。

调用方式:this.$http.jsonp(url,{params:{"callback":"jsonPCallback"}}).then(function(response){

console.log(response.body);

})

相关文章

  • 关于vue-resource的jsonp跨域问题

    首先描述一下问题。 由于特殊原因,在使用jsonp调用跨域请求时,回调函数是写在其中一个params里面,并不和p...

  • 解决ajax跨域问题

    Jsonp解决ajax跨域问题 CORS解决ajax跨域问题

  • ajax跨域请求

    ajax跨域请求(jsonp) 利用JSONP解决AJAX跨域问题的原理与jQuery解决方案JSONP jQue...

  • JavaScript - GET/POST及跨域方法

    xhr 原生方法请求 window fetch 方法 关于跨域 利用JSONP实现跨域调用 使用 CORS(跨域资...

  • 使用JSONP解决ajax跨域

    在日常开发中,不免遇到跨域的问题。在这里我们介绍使用Jsonp来解决ajax跨域的问题 什么是跨域? 跨域,指的是...

  • 跨域

    跨域 什么是跨域: 解决跨域 通过jsonp原理:在页面引入跨域js和css时,没有存在跨域问题.因此可以动态创建...

  • jsonp,ajax,json的问题

    JSONP JSONP是解决跨域问题的一种常见方式 跨域问题:因为浏览器有同源策略,所以当不同域间进行数据交互的时...

  • JSONP的劫持

    关于 JSONP JSONP 全称是 JSON with Padding ,是基于 JSON 格式的为解决跨域请求...

  • 跨域

    关于跨域大概可以分为 iframe 的跨域和纯粹的跨全域请求。 3种跨全域方法: 1、JSONP 全称:JSON ...

  • 跨域的解决方式与演示

    关于跨域大概可以分为 iframe 的跨域和纯粹的跨全域请求。 3种跨全域方法: 1、JSONP 全称:JSON ...

网友评论

    本文标题:关于vue-resource的jsonp跨域问题

    本文链接:https://www.haomeiwen.com/subject/psrxbttx.html