为了账号安全,请及时绑定邮箱和手机立即绑定

搜索栏自动补全问题

搜索栏自动补全问题

ID7142229 2019-04-23 23:26:55
按照老师补全淘宝搜索的方法,我用了百度的补全,代码如下$('#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返回的值,谢谢
查看完整描述

1 回答

已采纳
?
橋本奈奈未

TA贡献436条经验 获得超108个赞

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

查看完整回答
反对 回复 2019-04-24
  • ID7142229
    ID7142229
    所以前端无法获取到它的json形式嘛
  • 橋本奈奈未
    橋本奈奈未
    可以的, var url = 'https://www.baidu.com/sugrec?pre=1&p=3&ie=utf-8&json=1&prod=pc&from=wise_web&wd=' + $('#kw').val() + '&req=2&bs=360&csor=5&pwd=a%27po%27o%27o&_=1556032629154'; 改成这样
  • 1 回答
  • 0 关注
  • 1435 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信