gpt4 book ai didi

javascript - 无法获取 JSONP 数据

转载 作者:行者123 更新时间:2023-11-30 14:39:48 24 4
gpt4 key购买 nike

很抱歉问了一个看似常见的问题,但我似乎无法从 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>

我该如何解决?

非常感谢任何帮助!

最佳答案

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

然后我试图告诉 vue-resource 手动将实际回调名称设置为 window.baidu.sug 但它没有 appear that vue-resource can handle设置嵌套在其他对象中的自定义回调名称。

简而言之,没有做错,您的问题有两种可能的解决方案:

  1. 你知道baidu API是否允许你通过查询参数设置jsonp回调函数的名称吗?如果是这样,这将是解决您问题的最快方法。然后,您可以将 jsonp 选项设置为百度用来设置查询参数名称的查询参数的名称。我在文档中找不到它,但似乎 cb 不是正确的查询参数名称,或者即使它完全受支持。

  2. vue-resource 提交 PR正确支持嵌套在其他对象中的回调函数。需要在 here 左右的某个地方进行更改.

关于javascript - 无法获取 JSONP 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49842752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com