猿问

搜索栏自动补全问题

按照老师补全淘宝搜索的方法,我用了百度的补全,代码如下

$('#input').on('input', function () {
    var url = 'https://www.baidu.com/sugrec?pre=1&p=3&ie=utf-8&json=1&prod=pc&from=wise_web&wd=' + $('#input').val() + '&req=2&bs=360&csor=5&pwd=a%27po%27o%27o&cb=jQuery110209896406574549008_1556032629147&_=1556032629154';
    $.ajax({
        url: url,
        dataType: 'jsonp',
        success: function (date) {
            console.log(date);
        }

    })
})

但是这样会报错Uncaught ReferenceError: jQuery110209896406574549008_1556032629147 is not defined

请问应该如何获取ajax返回的值,谢谢

ID7142229
浏览 1436回答 1
1回答

橋本奈奈未

这里采用的是jsonp在实现跨域请求。url上的cb={callback}这里传的是回调函数名。当后端返回时会用函数名包裹数据返回,所以全局上须存在一个callback这样的函数。不清楚的话建议先了解下jsonp的原理。
随时随地看视频慕课网APP
我要回答