通过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>
网友评论