美文网首页
百度jsonp获取数据

百度jsonp获取数据

作者: 小哪吒 | 来源:发表于2017-05-24 14:23 被阅读0次
<!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和cors。(ie10以下可以使用jsonp获取数据) jsonp实现跨...

  • 百度jsonp获取数据

  • vue起步(2)之数据交互

    vue中的交互(ajax,jsonp) vue中也存在像ajax和jsonp的数据交互,实现向服务器获取数据,但是...

  • json和jsonP的区别:

    json是一种轻量级的数据交换格式,jsonP是解决跨域问题的一种获取数据的方式;json是协议,jsonP是使用...

  • ajax与jsonp、jsonp

    轮播图 json 数据格式 ajax与jsonp ajax是获取数据的 get请求 post请求 url:"js/...

  • web前端面试5

    1 jsonp方案需要服务端怎么配合 后端根据jsonp参数名获取到参数后要与本来要返回的json数据按“call...

  • React 获取数据 axios插件 fetch-jsonp插件

    react获取服务器APi接口的数据: 远程测试API接口: get请求: jsonp请求地址:

  • vue jsonp插件使用

    要跨域的百度搜索接口: 1.安装 2.引入jsonp 3.请求数据 注意点: jsonp只能用get方法请求,不能...

  • javascript和jQuery分别实现jsonp跨域请求

    本文以豆瓣网上的接口数据为例演示jsonp的跨域请求,具体实现原理不再赘述,不懂得请先百度jsonp的原理后再来看...

  • jsonp详解

    title: jsonp详解tags:categories: ajax不允许跨域获取数据说明,假定后端语言是 ...

网友评论

      本文标题:百度jsonp获取数据

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