JSONP请求几个网站

2017-04-27  本文已影响0人  threestar

通过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>
上一篇 下一篇

猜你喜欢

热点阅读