很抱歉问了什么看起来像一个常见的问题,但我似乎无法从jsonp获得数据。
我尝试了以下几点:
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)
})
}
}
})
}和
<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>
我该怎么解决呢?
任何帮助都是非常感谢的!
发布于 2018-04-15 15:05:59
别担心!我让一个JSFiddle试着找出你的具体问题。百度似乎不允许您更改jsonp回调的名称,或者至少不允许使用我尝试过的任何参数,例如cb、callback或jsonpCallback等等。
然后,我尝试告诉vue-resource手动将实际回调名设置为window.baidu.sug,但它不似乎vue资源可以处理设置嵌套在其他对象中的自定义回调名称。
简而言之,您正在执行 nothing 错误,并且有两种可能解决问题的解决方案:
https://stackoverflow.com/questions/49842752
复制相似问题