Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Ajax-数据异步交互1.Ajax简介2.AJAX 实例

Ajax-数据异步交互1.Ajax简介2.AJAX 实例

作者头像
Python攻城狮
发布于 2018-08-23 03:38:21
发布于 2018-08-23 03:38:21
1.8K00
代码可运行
举报
文章被收录于专栏:Python攻城狮Python攻城狮
运行总次数:0
代码可运行

1.Ajax简介

AJAX = 异步 JavaScript 和 XML。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

2.AJAX 实例

  • 查询提示
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>查询访问</title>

    <!-- 

    https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=
    https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=abc&cb=jQuery110206545585568528622_1499224165848&_=1499224165856
     -->

    <style type="text/css">
        *{margin:0px;padding: 0px;}
        #container{width:800px;margin:auto;margin-top:10px;}
        input[id="keywords"]{width: 500px;height: 40px;border:solid 2px #cecece;font-size: 22px;line-height: 40px;color:#888;padding-left: 10px;}   

        #sug{width:512px;list-style: none;border:solid 1px #ccc;}
        #sug li{height: 30px;background:#fcfcfc;line-height:30px;font-size:18px}

    </style>
    <script type="text/javascript" src="../jquery-1.12.4.js"></script>

</head>
<body>
    <div id="container">
        <div>
            <input type="text" id="keywords" placeholder="请输入关键词">
        </div>
        <ul id="sug">
            <!-- <li>建议搜索的关键词</li> -->
        </ul>
    </div>

    <script>
        // 获取输入框
        var $kw = $("#keywords");

        // 添加键盘按键抬起事件
        $kw.keyup(function(){
            // 获取输入框中的输入
            var $value = $kw.val();

            // 调用函数,获取数据
            $.ajax({
                url:"https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?cb=?",
                type:"get",
                data:{wd:$value},
                dataType:"jsonp",
                success:function(msg){
                    // 当url接口访问成功的时候,自动调用success对应的函数,接口返回的数据会自动存放在函数的参数data中
                    console.log(msg.s);
                    // 将输入输出到页面中;dom操作
                    var _sug = msg.s;
                    // 清空原来的url标签;
                    $("#sug").empty();

                    for (var i = 0;i< _sug.length;i++){
                        // 创建一个li标签
                        var $li = $("<li>")
                        // 标签中添加文本数据
                        $li.text(_sug[i]);
                        // 将li标签,添加到页面中
                        $("#sug").append($li);


                    }
                }
            }); 
        });

    </script>

</body>
</html>


<!--    dataType:"jsonp",
        同源策略:web规范了只有相同源头(域名)的数据才可以互相访问
        同源策略是为了数据的安全性,而设置的一种网络数据访问限制

        跨域:从不同的域名下访问指定的数据 -->

效果展示:

查询提示

  • 天气预报查询地址
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>天气预报</title>
    <style>
        *{margin:0px;padding:0px;}
        #container{width:800px;margin:auto;font-size: 20px;font-weight: bolder;}
        input[id="city"]{width:500px;height:35px;border:solid 2px #cecece;font-size:22px;line-height:35px;color:#888;padding-left:10px; margin:10px;}
        #show{display:block;width: 600px;height: 300px;border: solid 2px #888;margin: 10px auto; list-style: none;padding: 10px;border-radius: 8px;box-shadow: 10px 10px 5px #888}

    </style>
    <script type="text/javascript" src="../jquery-1.12.4.js"></script>
</head>
<body>
    <div id="container">
        <div>
            请输入城市名称:
            <input type="text" id="city" placeholder="请输入想查询的地区">
        </div>
        <ul id="show">
            <li>天气信息</li>
        </ul>
        
    </div>

 <script>
        // 获取需要的标签对象
        var _city = $("#city");
        var _show = $("#show");

        // 添加事件处理
        _city.blur(function(){
            // 获取输入框中的输入数据
            var $value = _city.val();

            _show.empty();
            // 调用函数,获取数据
            $.ajax({
                url:"http://wthrcdn.etouch.cn/weather_mini?callback=?",
                type:"get",
                data:{city:$value},
                dataType:"jsonp",
                success:function(msg){
                    // 当url接口访问成功的时候,自动调用success对应的函数,接口返回的数据会自动存放在函数的参数data中
                    console.log(msg);
                    // 获取城市数据,展示到页面中
                    var $city = $("<li>");
                    $city.text(msg.data.city + "天气预报信息:");

                    // 获取今天温度数据
                    var $wd = $("<li>");
                    $wd.text("今天温度:"+ msg.data.wendu);

                    // 获取今天感冒指数数据
                    var $gm = $("<li>");
                    $gm.text("温馨提示:"+ msg.data.ganmao);

                    // 今天天气预报
                    var $today = $("<li>");

                    var $date = $("<span>").text("日期:" + msg.data.forecast[0].date)
                    var $type = $("<span>").text(";今天天气:" + msg.data.forecast[0].type)
                    var $high = $("<span>").text(";最高气温:" + msg.data.forecast[0].high)
                    var $low = $("<span>").text(";最低气温:" + msg.data.forecast[0].low)
                    var $fl = $("<span>").text(";风力:" + msg.data.forecast[0].fengli)
                    var $fx = $("<span>").text(";风向:" + msg.data.forecast[0].fengxiang)

                    $today.append($date).append($type).append($high).append($low).append($fl).append($fx);

                    _show.append($city).append($wd).append($gm).append($today);
                },  
                error:function(){
                    console.log("运行错误...");             
                }
            }); 
        });

    </script>
</body>
</html>

效果展示:

天气查询

  • 快递单号查询接口
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>快递信息查询</title>
        <style type="text/css">
            *{margin: 0;padding: 0;}
            #container{width: 800px;margin: 15px auto;font-size: 20px;font-weight: bolder;}
            select[id="company"]{width: 200px;height: 30px;font-size: 18px;font-family: "微软雅黑";border-radius: 5px;}
            #wb{float: left;}
            input[id="postid"]{margin:10px auto;width: 200px;height: 20px;font-size: 14px;font-family: "微软雅黑";border-radius: 3px;}
            button[id="cx"]{display: block;width: 56px;height: 26px;background-color:#388bff;color:white;margin: 8px 380px;}
            ul[id="show"]{list-style: none;width: 500px;height:500px;border:solid 2px #888; border-radius: 8px; }
            #container ul li p{padding:15px;width:480px;
                min-height: 50px;font-size:14px;}

        </style>

        <script type="text/javascript" src="../jquery-1.12.4.js">
        </script>

    </head>
    <body>
        <div id="container">
            <div>
                <label for="company">快递公司名称</label>
                <select id="company" name="address">
                        <option value="shunfeng">顺丰速运</option>
                        <option value="shentong">申通快递</option>
                        <option value="ems">EMS</option>
                        <option value="yuantong">圆通速递</option>
                        <option value="zhongtong">中通快递</option>
                        <option value="tiantian">天天快递</option>
                        <option value="huitongkuaidi">汇通快递</option>
                        <option value="yunda">韵达速递</option>
                        <option value="quanfengkuaidi">全峰快递</option>
                        <option value="debangwuliu">德邦</option>
                        <option value="zhaijisong">宅急送</option>
                </select>
            </div>
            <div id="wb">
                <label for="post">输入快递单号</label>
                <input type="text" id="postid">
            </div>
            <div>
                <button id="cx">查询</button>
            </div>

            <ul id="show">
                <li>
                    <i></i>
                    <p>物流信息</p>
                </li>
            </ul>
            <div style="clear:both;"></div>
        </div>

        <script>
            // 获取标签对象:快递公司
            var $selector=$("#company");
            // 获取快递单号
            var $postid=$("#postid");
            // 查询
            var $cx=$("#cx");

            // 给查询按钮添加点击事件
            $cx.click(function(){
                // 获取需要的数据
                var $company = $selector.val();
                var $value = $postid.val();

                // ajax 获取数据
                $.ajax({
                    url:"https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2DJv/pae/channel/data/asyncqury?cb=?",
                    type:"get",
                    data:{com:$company,nu:$value,appid:4001},
                    dataType:"json",
                    success:function(msg){
                        // 清空历史消息
                        $("#show").empty();

                        // 获取接口返回的数据
                        console.log(msg);
                        var $info = msg.data.info.context;

                        // 循环遍历数据
                        for(var i = 0; i <$info.length;i++){
                            // 获取每一笔的时间信息
                            var $time = $info[i].time;
                            $time = getTimeStr($time);

                            // 获取每一笔的快递信息
                            var $desc = $info[i].desc;

                            // 创建标签,添加到页面中
                            var $msg = $("<p>").text($time + ":" + $desc);
                            var $i = $("<i>");

                            var $kd = $("<li>");
                            $kd.append($i).append($msg);
                            // 添加到页面中
                            $("#show").append($kd);
                        } 


                    },
                    error:function(){
                        console.log("系统繁忙,查询失败");
                    }
                });
            });

            // 获取时间字符串
            function getTimeStr(dt){
                var _date = new Date(parseInt(dt*1000));
                return _date.getFullYear() + "-" + (_date.getMonth() + 1) + "-" + _date.getDate() + " " + _date.getHours() + ":" + _date.getMinutes() + ":" + _date.getSeconds();


            }
        </script>


    </body>
    </html>

效果展示

快递查询

推荐几个网站

jQuery插件库:JS特效,网页特效,以及各种html5,css3动画和效果

Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。

阿里巴巴矢量图标库:Iconfont-国内功能很强大且图标内容很丰富的矢量图标库,提供矢量图标下载、在线存储、格式转换等功能。

Swiper(Swiper master):是目前应用较广泛的移动端网页触摸内容滑动js插件。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.07.06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Select下拉框使用ajax异步绑定数据
效果图:keyup()事件按键被松开时发生keyup()事件,从而触发ajax触发模糊查询获取后台数据库中的数据,然后动态绑定到下拉框中
追逐时光者
2022/02/15
1.7K0
Select下拉框使用ajax异步绑定数据
商城项目回顾整理(一)前台页面布局
登录页面: 1 <%@ page language="java" contentType="text/html; charset=utf-8" 2 pageEncoding="utf-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 6 <head> 7 <
二十三年蝉
2018/02/28
1.8K0
【java web 01】3小时快速学习前端知识(收藏备用)
编辑好demo,选择右下角的Go live会自动跑一个小型服务器,就可以很方便的看你的html解析效果喽。
半旧518
2024/07/09
3230
【java web 01】3小时快速学习前端知识(收藏备用)
Ajax的基础使用
简介:Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。 使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。
GeekLiHua
2025/01/21
630
Ajax的基础使用
JSON基础、原生的ajax及JQuery.ajax
(1)从服务器上读取JSON数据,将json数据转化成js对象,然后在网页中使用数据
申小兮
2023/04/19
9120
JSON基础、原生的ajax及JQuery.ajax
jQuery基础图文系列
jquery的入口函数是在html所有标签都加载后才执行,而JavaScript的window.onload事件是等到所有内容加载完后才执行。
菲宇
2019/07/31
4.5K0
jQuery基础图文系列
【hta版】获取AppStore上架后的应用版本号
之前写过一篇文章:获取AppStore上架后的应用版本号,那一篇文章使用node.js实现,存在的问题就是如果在没有安装node.js运行环境下是无法运行的,而且该程序依赖request模块,为了方便其它人也能使用,想到把它做成一个本地应用程序。然后想了一下,觉得最简单的就是使用hta文件(它的Ajax请求可跨域^_^)。
meteoric
2018/11/19
6320
7b2主题评论气泡
这个功能来自于https://github.com/515184405/barrage,版权归他所有。
小狐狸说事
2022/11/17
3980
7b2主题评论气泡
关于flask入门教程-ajax+echarts实现大屏展示
陆陆续续写了一个系列的flask入门教程了,最后以一个半成品大屏做个了结,也算是一段时间的成果吧,毕竟不是专业码农,只是爱好而已,还有很多其他的事情等待探索。
python与大数据分析
2022/04/02
1.2K0
关于flask入门教程-ajax+echarts实现大屏展示
使用APICloud AVM框架开发预约应用
前段时间跟朋友一起搞了一个预约的项目,前端用的APICloud的AVM框架做的,后端用的php开发的,用的tp5框架,没几天就搞出来了。简单跟大家分享一下开发中的一些功能点的实现吧。也欢迎大家一起探讨。
APICloud官方
2022/01/21
5540
预报查询-前端代码
城市空气质量预报查询 image.png 城市气象预报查询 image.png 站点空气质量预报查询 image.png image.png html代码如下: <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="">
MiaoGIS
2021/12/10
1.7K0
预报查询-前端代码
博客园博客排版(js样式实例)
昨天在博客园中看到一位大神发的博客园样式排版博客,我一看。妈呀,太漂亮了,二话不说赶快学起,昨天我花了一天的时间,终于把我的博客也弄得有一丢丢像样了,有好东西,当然要分享给各位;
Dawnzhang
2018/10/18
3.7K0
博客园博客排版(js样式实例)
jQuery
jQuery是目前使用最广泛的javascript函数库。据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库。微软公司甚至把jQuery作为他们的官方库。
py3study
2020/01/16
4K0
《JavaEE进阶》----8.<SpringMVC实践项目:【简易对话留言板(数据存在内存中)】>
重新加载url时,如果数据存在submit函数中,刷新的时候,不会去执行,只有在点击提交的时候才会执行这个函数。因此我们还需要在submit外面,<script>里面写一段代码。
用户11288958
2024/09/24
1380
《JavaEE进阶》----8.<SpringMVC实践项目:【简易对话留言板(数据存在内存中)】>
一篇文章带你了解网页框架——Vue简单入门
如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助
秋落雨微凉
2022/10/25
9810
一篇文章带你了解网页框架——Vue简单入门
JQuery基础学习
JQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
乐心湖
2021/01/18
3.8K0
Echarts的相关问题记录与应用
1、对图表的div进行隐藏操作,使用hide()或display:none,重新展示时,会造成图表无法获取高度,导致图表的高宽不符合预期:
JQ实验室
2022/02/09
1.2K0
python_day15_前端_jQue
<1> jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。
py3study
2020/01/13
6K0
好好编程-物流项目21【订单管理-新增订单】
  页面加载完成及操作动态改变客户的时候我们都需要将默认的区间与之对应。 实现方式如下:
用户4919348
2019/04/02
1.4K0
好好编程-物流项目21【订单管理-新增订单】
Ajax(20171101)
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。 然而,在以下情况中,请使用 POST 请求: a)无法使用缓存文件(更新服务器上的文件或数据库) b)向服务器发送大量数据(POST 没有数据量限制) c)发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
天天_哥
2018/09/29
5290
相关推荐
Select下拉框使用ajax异步绑定数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文