美文网首页
JSONP请求几个网站

JSONP请求几个网站

作者: threestar | 来源:发表于2017-04-27 21:51 被阅读0次

    通过jsonp跨域请求
    百度:

    <body>
        <input type="text">
        <ul></ul>
    </body>
    <script>
        $(()=>{
            $('input').keyup(()=>{
                $('input').html('')
                $.ajax({
                    url:'https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',
                    data:{wd:$('input').val()},
                    dataType:'jsonp',
                    jsonp:'cb', 
                    //jsonCallback:如果是jQuery110206957733391272367_1493297647266 则不用写都是用的jq
                    success(r){
                        $('ul').html('')
                        console.log(r)
                        $.each(r.s,(i,v)=>{
                            $(`
                                <li>${v}</li>
                                `).appendTo($('ul'))
                        })
                    }
                })
            })
        })
    </script>
    

    搜狗(没有回调函数)
    如果抓取到的地址没有cb=xxx或者callback=xxx,
    就要把地址栏?之前的地址打开,看一下他的函数调用格式
    然后自己在script里定义一遍

    <body>
        <input type="text">
        <ul></ul>
    </body>
    <script>
        window.sogou={
            sug:function(r){
                $('ul').html('')
                console.log(r);
                $.each(r[1],(i,v)=>{
                    $(`<li>${v}</li>`).appendTo('ul')
                })
            }
        }
        $(()=>{
            $('input').keyup(()=>{
                $('input').html('')
                $.ajax({
                    url:'https://www.sogou.com/suggnew/ajajjson',
                    data:{key:$('input').val(),type:'web'},
                    dataType:'jsonp',
                    // jsonp:'cb', 
                    //jsonCallback:如果是jQuery110206957733391272367_1493297647266 则不用写都是用的jq
                    
                })
            })
        })
    
    </script>
    

    相关文章

      网友评论

          本文标题:JSONP请求几个网站

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