<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.gray{
background: #ccc
}
</style>
</head>
<body>
<div id="box">
<input type="text" v-model="todo" @keyup="get($event)" @keydown.down="changeDown" @keydown.up.prevent="changeUp" >
<ul>
<li v-for="value in myData" :class="{gray:$index==now}">
{{value}}
</li>
</ul>
<p v-show="myData.length==0">暂无数据...</p>
</div>
<script src="vue.js"></script>
<script src="vue-resource.js"></script>
<script>
new Vue({
el:'#box',
data:{
myData:[], //存储li里面的数据
todo:'',
now:"-1"
},
methods:{
get(ev){
//当我按下上或者下键的时候,不在请求
if(ev.keyCode==38 || ev.keyCode==40){
return;
}
if(ev.keyCode==13){
window.open("https://www.baidu.com/s?wd="+this.todo)
}
this.$http.jsonp(
"https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su",
{
wd:this.todo
},
{
jsonp:"cb"
}).then(function(data){
//吧请求到的数据添加到数组里
this.myData=data.data.s;
},function(err){
console.log("shibai")
})
},
changeDown(){
this.now++;
// 如果当前的索引值等于数组的长度
if(this.now==this.myData.length){
this.now=-1;
}
// 当前的文本框等于数组中的当前内容
this.todo=this.myData[this.now];
},
changeUp(){
this.now--;
if(this.now==-2){
this.now=this.myData.length-1;
}
this.todo=this.myData[this.now];
}
}
})
</script>
</body>
</html>
百度jsonp获取数据
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 看了那么多别人的东西,是觉得自己也该贡献点什么!简单的调用百度搜索框的方法我就不说了,下面给大家详细讲一下用vue...
- Asynchronous JavaScript and XML (Ajax) 是驱动新一代 Web 站点(流行术语...
- 第一种方法是在ajax函数中设置dataType为'jsonp': 第二种方法是利用getJSON来实现,只要在地...
- 前言 我是一名Python小白,两个礼拜之前还对Python一无所知,上次我利用举办社团活动的契机,请学校老师做了...