jQuery使用jsonp实现百度搜索的示例代码


Posted in jQuery onJuly 08, 2020

项目实现:还原百度搜索功能;

项目原理:利用json回调页面传参;

什么是jsonp:就是利用<script>标签的src地址,让目标页面回调本地页面,并且带入参数,也解决了跨域问题;

代码如下:

html(css代码不提供)

<div class="box">
    <input type="text" />
    <div class="ssk"></div>
    <button>×</button>
 </div>

js

var script,ids;
   $(".box>input").on("input",inputHandler)
   function inputHandler(e){
    if (ids) return;
    ids = setTimeout(function () {//节流
     clearTimeout(ids);
     ids=0;
     if (script) { //删除上一次创建script标签
      script.remove();
      script = null;
     }
     script=$("<script><\/script>").attr("src",`https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=
        ${$(".box>input").val()}





&json=1&p=3&sid=22084_1436_13548_21120_22036_22073&req=2&csor=0&cb=callback`
     ).appendTo("body");
     // 点击x按钮删除搜索框内容,并且隐藏button按钮
     $("button").click(function () {
      $("input").val("");
      $("button").css("display", "none");
     });
     // 如果搜索框为空则把x按钮隐藏
     if ($("input").val().length === 0) {
      $("button").css("display", "none");
     } else {
      $("button").css("display", "block");
     }

    }, 500);
   }
   function callback(data) {
    if (data) {
     $(".box>.ssk").css("display", "block");
    }
    // 删除上一次的搜索列表
    if ($(".ssk").children().length !== 0) {
     $("a").remove();
    }
    // 遍历数组内容输出
    $.each(data.s, function (index, item) {
     $("<a>"+item+"</a>").appendTo(".box>.ssk");
     $("a").attr('href','https://www.baidu.com/s?tn=02003390_43_hao_pg&isource=infinity&wd='+encodeURIComponent(item));
    });
    // 失去焦点隐藏搜索列表
    $(".box>.ssk").on("mouseleave", function () {
     $(".box>.ssk").css("display", "none");
    });
   }
  • 这里目标页面是“https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=&json=1&p=3&sid=22084_1436_13548_21120_22036_22073&req=2&csor=0&cb=callback” 向百度服务器请求
  • callback函数为目标服务器的回调函数,传回来的参数data是一个对象;
  • callback回调函数中,传回来的data中s属性是搜索到的内容,遍历data.s数组,将每个元素的外层添加a标签,a标签的超链接为搜索到的内容,
  • 改变a标签超链接的wd属性就可以搜索到对应的内容;wd传入的值需要进行编码(encodeURIComponent)处理,服务器才能给出对应内容的超链接

日常百度搜索都有wd属性,改变wd属性即可得到搜索

jQuery使用jsonp实现百度搜索的示例代码

最终效果:

jQuery使用jsonp实现百度搜索的示例代码

以上就是jQuery使用jsonp实现百度搜索的示例代码的详细内容,更多关于jQuery实现百度搜索的资料请关注三水点靠木其它相关文章!

jQuery 相关文章推荐
jQuery异步提交表单实例
May 30 jQuery
用jquery获取select标签中选中的option值及文本的示例
Jan 25 jQuery
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
jQuery实现输入框的放大和缩小功能示例
Jul 21 jQuery
jquery获取file表单选择文件的路径、名字、大小、类型
Jan 18 jQuery
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 jQuery
jquery+php后台实现省市区联动功能示例
May 23 jQuery
jQuery 查找元素操作实例小结
Oct 02 jQuery
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
JQuery复选框全选效果如何实现
May 08 jQuery
jQuery--遍历操作实例小结【后代、同胞及过滤】
May 22 jQuery
jQuery插件实现图片轮播效果
Oct 19 jQuery
jQuery 实现扁平式小清新导航
Jul 07 #jQuery
jQuery 动态粒子效果示例代码
Jul 07 #jQuery
jQuery实现简单飞机大战
Jul 05 #jQuery
jQuery实现简单日历效果
Jul 05 #jQuery
jQuery实现飞机大战小游戏
Jul 05 #jQuery
jquery实现上传图片功能
Jun 29 #jQuery
jQuery实时统计输入框字数及限制
Jun 24 #jQuery
You might like
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
2013/06/23 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
复习Python中的字符串知识点
2015/04/14 Python
python实现数据图表
2017/07/29 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
程序员岗位职责
2013/11/11 职场文书
给护士表扬信
2014/01/19 职场文书
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
小学生手册家长评语
2014/04/16 职场文书
学生鉴定评语大全
2014/05/05 职场文书
购房协议书范本
2014/10/02 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python
python​格式化字符串
2022/04/20 Python