首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获取JSONP数据

无法获取JSONP数据
EN

Stack Overflow用户
提问于 2018-04-15 13:56:23
回答 1查看 201关注 0票数 1

很抱歉问了什么看起来像一个常见的问题,但我似乎无法从jsonp获得数据。

我尝试了以下几点:

代码语言:javascript
复制
  window.onload = () => {
  var app = new Vue({
    el: '#app',
    data: {
      myData:[],
      t1:''
    },
    methods:{
       get(){
         this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su'),{
           wd:this.t1
         },{
           jsonp:'cb'
         }.then((res)=>{
           this.myData = res.data.s;
         },()=>{
           alert(res.status)
         })
       }
    }
  })
}

代码语言:javascript
复制
<div id="app">
<input type="text" v-model='t1' @keyup='get()'>
<ul>
  <li v-for='item in myData'>item</li>
</ul>
<p v-show='myData.length == 0'>empty...</p>

我该怎么解决呢?

任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-15 15:05:59

别担心!我让一个JSFiddle试着找出你的具体问题。百度似乎不允许您更改jsonp回调的名称,或者至少不允许使用我尝试过的任何参数,例如cbcallbackjsonpCallback等等。

然后,我尝试告诉vue-resource手动将实际回调名设置为window.baidu.sug,但它不似乎vue资源可以处理设置嵌套在其他对象中的自定义回调名称。

简而言之,您正在执行 nothing 错误,并且有两种可能解决问题的解决方案:

  1. 您知道百度API是否允许您通过查询参数设置jsonp回调函数的名称吗?如果是这样,这将是最快的解决您的问题。然后,将jsonp选项设置为百度用于设置查询参数名称的查询参数的名称。我在文档中找不到它,但似乎cb不是正确的查询参数名称,甚至根本不支持它。
  2. 向适当支持嵌套在其他对象中的回调函数的vue-资源提交一个PR。这种改变需要在这里周围的某个地方进行。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49842752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档