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实现按比例缩放图片的方法
Apr 29 jQuery
jQuery鼠标移动图片上实现放大效果
Jun 25 jQuery
使用 jQuery 实现表单验证功能
Jul 05 jQuery
基于jQuery实现图片推拉门动画效果的两种方法
Aug 26 jQuery
认识jQuery的Promise的具体使用方法
Oct 10 jQuery
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
jQuery+CSS实现的标签页效果示例【测试可用】
Aug 14 jQuery
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
jquery 时间戳转日期过程详解
Oct 12 jQuery
基于JQuery实现页面定时弹出广告
May 08 jQuery
jQuery实现简单全选框
Sep 13 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
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
php数组键值用法实例分析
2015/02/27 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
2013/07/09 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
javascript中new关键字详解
2015/12/14 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
vue组件学习教程
2017/09/09 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
Python Collatz序列实现过程解析
2019/10/12 Python
python要安装在哪个盘
2020/06/15 Python
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
文员个人的求职信范文
2013/09/26 职场文书
养殖项目策划书范文
2014/01/13 职场文书
暑期社会实践方案
2014/02/05 职场文书
年终总结会主持词
2014/03/25 职场文书
护士节活动总结
2014/08/29 职场文书
基层领导干部“四风”问题批评与自我批评
2014/09/23 职场文书
大国崛起日本观后感
2015/06/02 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
pytorch 中nn.Dropout的使用说明
2021/05/20 Python