一.实现原理:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8
 9 </body>
10 </html>
11 <!--script标签如果指定一个非标准类型type属性,浏览器会把里面的内容识别成字符串-->
12 <script type="text/template" id="weatherTemplate">
13     <h2>城市:数据<%= currentCity %></h2>
14     <p>今天天气:<%= weather_data[0].weather %></p>
15     <p>明天天气:<%= weather_data[0].weather %></p>
16
17 </script>
18 <script src="lib/template-native.js"></script>
19 <script>
20     var objDate = {
21         currentCity: '北京',
22         weather_data:[
23             {
24                 "date": "周六 11月11日 (实时:9℃)",
25                 "weather": "晴转多云",
26                 "wind": "南风微风",
27                 "temperature": "10 ~ 0℃"
28             },
29             {
30                 "date": "周日",
31                 "weather": "多云转晴",
32                 "wind": "西风微风",
33                 "temperature": "11 ~ 0℃"
34             }
35         ]
36     };
37     //template("模版",数据对象)
38     var htmlStr = template("weatherTemplate",objDate);
39     console.log(htmlStr);
40     document.body.innerHTML = htmlStr ;
41 </script>

二.调用天气接口:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <style>
 7         *{
 8             margin: 0;
 9             padding: 0;
10             list-style: none;
11         }
12         .nav{
13             border: 1px solid #ddd;
14         }
15         .nav li {
16             float: left;
17             width: 200px;
18             text-align: center;
19         }
20         .nav li a{
21             text-decoration: none;
22         }
23     </style>
24 </head>
25 <body>
26 <button id="btn">无刷新请求</button>
27 <div class="nav">
28     <ul id="navIn">
29
30     </ul>
31 </div>
32 </body>
33 </html>
34 <script type="text/template" id="navTemplate">
35     <ul>
36         <%for(var i=0;i < resArray.length;i++){%>
37         <li>
38             <a href="<%=resArray[i].link%>">
39                 <img src="<%=resArray[i].src%>" alt="">
40                 <p><%=resArray[i].text%></p>
41             </a>
42         </li>
43         <%}%>
44     </ul>
45 </script>
46 <script src="lib/jquery-1.12.2.js"></script>
47 <script src="lib/template-native.js"></script>
48 <script>
49
50     /**
51      *  $.ajax({});
52      *    url 服务器地址
53      *    dataType:
54      *    type: 请求类型
55      *    success :function(){
56      *      请求成功点后执行的函数
57      *     }
58      * */
59     $('#btn').click(function () {
60         $.ajax({
61             url:'03nav_json.php',
62             dataType:'json',
63             success:function (res) {
64                 console.log(res);
65                 // 如果数据是数组,默认数组没有名字,所以在模版引擎里无法找到数据
66                 //   解决方法: 传入一个对象{ 数据名称: 数组数据}
67                 var htmlStr = template('navTemplate',{resArray:res});
68                 $('.nav').append(htmlStr);
69             }
70         });
71     });
72
73 </script>

三.手机归属地接口查询:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <style>
 7         .tips{
 8             color:red;
 9         }
10     </style>
11 </head>
12 <body>
13 <h1>请输入电话号码查询号码归属地</h1>
14 <input type="text" name="phoneNum"  id="phoneNum"/><button>查询</button>
15 <span class="tips"></span>
16 <br/>
17 <div id="area">
18
19 </div>
20 </body>
21 </html>
22 <script type="text/template" id="areaTemplate">
23    <p> 您的号码归属地是:<%=province%></p>
24    <p> 您的服务商是:<%=carrier%></p>
25     <p>您号码服务名称是:<%=catName%></p>
26 </script>
27 <script src="lib/jquery-1.12.2.js"></script>
28 <script src="lib/template-native.js"></script>
29 <script>
30
31
32     $('button').click(function () {
33         $.ajax({
34           url:"http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel="+$('#phoneNum').val(),   // 查询手机归属地接口
35           dataType:"jsonp",
36           success:function (res) {
37               console.log(isEmptyObject(res));
38               if(!isEmptyObject(res)){
39                   var htmlStr = template("areaTemplate",res);
40                   console.log(htmlStr);
41                   $('#area').empty().append(htmlStr);
42                   $('.tips').text('')
43                   return false;
44               }else{
45                   $('.tips').text('请输入正确的电话号码');
46               }
47           } ,
48           error: function () {
49                 $('.tips').text('请输入正确的电话号码');
50           }
51        });
52     });
53
54     function isEmptyObject(e) {
55         var t;
56         for (t in e)
57             return !1;
58         return !0
59     }
60 </script>

转载于:https://www.cnblogs.com/mrszhou/p/7820500.html

Ajax--art-template + 调用天气接口相关推荐

  1. Webservice调用天气接口案例

    废话不多说,希望能够帮助到大家. 天气接口:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl pom.xml配置: co ...

  2. Android调用天气接口(和风天气)

    第一次开通博客,不知写些什么.目前正在做一个Android项目,需要调用天气接口来显示连续几天的天气信息状况,但由于网上一些资料有点杂乱或不全(或许是自己水平不够,别人写的简洁),总之刚开始时无从下手 ...

  3. WebService调用天气接口及手机号查询归属地接口

    Webservice手机号查询接口的调用 1 在这里我讲述,如何使用wsdl2命令生成客户端代码. 因为使用jdk自带的也可以,就是很烦.因为会生成.class字节码文件与.java文件在一个文件夹下 ...

  4. php 调用天气接口

    这是我在博客园写的第一篇原创文章,现在直接复制过来了,CSDN 的博客搬家功能并不好用,只能手动了. 前几天没事的时候,浏览博客看到了一篇免费天气接口的文章,然后调用了一下文章中提到的接口,自己琢磨了 ...

  5. java百度天气接口解析_Java调用天气接口(百度天气)解析返回的JSON数据

    简介:本文详细讲述了通过Java调用百度天气接口的方法,取得返回的JSON格式的数据,并且通过第三方包解析JSON格式的数据. 通过百度天气API调用网络编程接口接收返回的JSON格式的数据. 关于百 ...

  6. 如何调用天气接口(如何解决WebService客户端引用 服务器无法处理请求。 未将对象引用设置到对象的实例)

    正常操作是: 添加服务引用 输入UPL地址,更改命名空间 确定 然后在cs文件里面引用WebServer所在的命名空间,实例化类,就可以调用其中方法 调用getWeather()方法的时候会报 服务器 ...

  7. 前端调用天气接口,返回实时和预报天气

    返回有实时温度:今日和未来4天的天气情况.气温范围.风力:昨日天气.具体看打印效果 <template><div><div><h1>实时:</h1 ...

  8. vue 免费的每天不限次数的调用天气接口

    文档:360免费天气API接口.note 链接:http://note.youdao.com/noteshare?id=8333c579b80f71e91a4156745fde5b27&sub ...

  9. webService学习7:调用天气接口

    1 参考  webService学习3:客户端生成webservice代码 生成客户端代码 2 在wsdl中搜索 wsdl:service入口类 3 代码编写 package test;impor ...

最新文章

  1. Lua脚本语法说明(修订)
  2. java虚拟机的俩种异常
  3. 服务器的智能监控管理结束,通过服务器监控告警进行异常排障
  4. .NET架构小技巧(7)——做好小的项目
  5. table 的 id 属性不被 document.getElementById支持
  6. 市面上流行编曲软件盘点,那一款是你的菜?
  7. 权重计算(1)——客观赋权法
  8. 跨平台数据库ODB实战4-Person类的聚合查询
  9. windows/linux下批量修改文件名以及文件名后缀
  10. CAD中的dxf文件解析(一):准备工作
  11. 6月刊精彩文章推荐:圆桌共话数据库
  12. android横竖屏切换布局闪退,Android 横竖屏切换以及横屏启动闪退问题
  13. 简要说明什么是cdn?
  14. Visual Studio番茄助手 Visual Assist X for VS2015-2019
  15. 截取含有中文、Emoji表情、特殊符号的字符串
  16. ArcGis二次开发ArcEngine开篇
  17. 服务器被攻击了,更换IP是否有用吗
  18. js限制输入框只能输入数字
  19. c语言工业键盘确认键,工业键盘的基础知识
  20. 【STM32篇】4988驱动步进电机

热门文章

  1. 密歇根大学团队成果:自动驾驶视觉系统——Bio-LSTM: 三维步行姿势和步态预测的生物力学反馈神经网络
  2. 深度学习(六十)网络压缩简单总结
  3. 栈的输出_算法:栈和队列题目集合(一)
  4. 将字符串中的html标签编译,将字符串中的HTML标签包含的内容移除
  5. oracle文件系统挂载点,挂载和取消挂载 Oracle Solaris 文件系统
  6. apache 验证 php 安装,PHP的安装以及验证Apache
  7. 软考网络工程师学习笔记2-数据通信基础
  8. Javascript---条件运算符
  9. 【代码笔记】Web-JavaScript-JavaScript表单验证
  10. 从Excel读取数据,然后分析相似的数据,多线程处理(多线程比较相似的字符串,统计出相似的数量及字符串)...