物联网学习笔记——构建RESTFul平台1
0.前言
本例部分源代码——【HTML代码】
1.前端框架——Bootstrap
2.简单例子
- <!DOCTYPE html>
- <html>
- <head>
- <title>LED Remote Control Template</title>
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <!-- Bootstrap -->
- <link rel="stylesheet" href="http://cdn.bootcss.com/twitter-bootstrap/3.0.3/css/bootstrap.min.css">
- </head>
- <body>
- <h1>LED Remote Control using REST API!</h1>
- <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
- <script src="http://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script>
- <!-- Include all compiled plugins (below), or include individual files as needed -->
- <script src="http://cdn.bootcss.com/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script>
- </body>
- </html>
【若干说明】
3.加个表格
【设计思路】
【HTML】
- <body>
- <div class="container">
- <div class="row">
- <div class="span12">
- <p class="lead">徐凯经验分享小站</p>
- </div>
- </div>
- <div class="row">
- <div class="span12">
- <table class="table table-hover">
- <thead>
- <tr>
- <th>编号 ID</th>
- <th>描述 DESC</th>
- <th>状态 STATUS</th>
- <th>动作 ACTION</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1</td>
- <td>RPi.PCF8574.IO0</td>
- <td>ON</td>
- <td>ACTION</td>
- </tr>
- <tr>
- <td>2</td>
- <td>RPi.PCF8574.IO1</td>
- <td>OFF</td>
- <td>ACTION</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="row">
- <div class="span12">
- <p class="text-right lead">如果有问题请邮件我,别客气</p>
- <p class="text-right lead">
- <em>Email:xukai19871105@126.com</em>
- </p>
- </div>
- </div>
- </div>
【几点说明】
4.按钮热身
【设计思路】
【HTML】
- <table class="table table-hover">
- <thead>
- <tr>
- <th>编号 ID</th>
- <th>描述 DESC</th>
- <th>状态 STATUS</th>
- <th>动作 ACTION</th>
- </tr>
- </thead>
- <tbody>
- <tr dev_id="1">
- <td>1</td>
- <td>RPi.PCF8574.IO0</td>
- <td >off</td>
- <td>
- <button type="button" class="btn btn-primary btn-xs">Toggle</button>
- </td>
- </tr>
- <tr dev_id="2">
- <td>2</td>
- <td>RPi.PCF8574.IO1</td>
- <td>off</td>
- <td>
- <button type="button" class="btn btn-primary btn-xs">Toggle</button>
- </td>
- </tr>
- </tbody>
- </table>
【几点说明】
5.按钮互动
【设计思路】
【javascript】
- <script>
- $(document).ready(function(){
- $('.btn').on("click",function(){
- // 获得 tr元素
- var trobj = $(this).parent().parent();
- // tr元素中包含 dev_id属性
- var dev_id = trobj.attr('dev_id');
- console.log( dev_id );
- // 访问该tr元素的所有子td元素
- var tdobj = $(trobj).children("td");
- var status_obj = $(tdobj).eq(2);
- var status_str = status_obj.text();
- console.log(status_str);
- if( status_str == "on"){
- status_obj.text("off");
- sendLedControl( dev_id , "off" );
- }else{
- status_obj.text("on");
- sendLedControl( dev_id , "on" );
- }
- });
- });
- </script>
【控制台查看效果】
【若干说明】
是一个完整的对象包含很多属性和方法。
【定位第2个td标签】var status_obj = $(tdobj).eq(2); eq(2)代表选择第2个(从0开始)td标签——对应status标签,var status_str = status_obj.text(); 取出当前内容并通过console.log打印。
6.PUT更新
【设计思路】
【代码实现】
- function sendLedControl( dev_id , cur_status ){
- $.ajax({
- url: '/api/leds/' + dev_id, // /api/leds/1
- async: true,
- dataType: 'json',
- type: 'PUT',
- data: JSON.stringify({status:cur_status}),
- success: function(data , textStatus){
- console.log("success");
- },
- error: function(jqXHR , textStatus , errorThrown){
- console.log("error");
- },
- });
- }
【执行结果】
【若干说明】
7.总结和源码
【HTML代码】
物联网学习笔记——构建RESTFul平台1的更多相关文章
- 物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus
物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus 物联网 (IoT) 不只是新技术,还是与旧技术的集成,其关键在于通信.可用的通信方法各不相同,但是,各种不同的协议在将海量“事物”连接 ...
- springmvc学习笔记(19)-RESTful支持
springmvc学习笔记(19)-RESTful支持 标签: springmvc springmvc学习笔记19-RESTful支持 概念 REST的样例 controller REST方法的前端控 ...
- Spring实战第五章学习笔记————构建Spring Web应用程序
Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那 ...
- blfs(systemd版本)学习笔记-构建gnome桌面系统
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 大概思路: lfs(系统)+xorg(驱动)+gnome(桌面组件) 链接: lfs(systemd版本)学习笔记系列:http ...
- blfs(systemd版本)学习笔记-构建gnome桌面系统后的配置及安装的应用
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.构建安装ibus-libpinyin的笔记地址:https://www.cnblogs.com/renren-study-n ...
- .Net 初步学习笔记之一——.Net 平台与.Net FrameWork框架的关系
.Net 包含两部分 .Net平台 和.Net FrameWork 框架 1..Net FrameWork框架包含于.Net平台. .Net FrameWork提供环境和支撑保证.Net平台运行. 2 ...
- C# 学习笔记1 .NET平台,C#的重要概念
.NET平台构成的三个关键实体是: 1.CLR(公共语言运行库):为我们定位,加载,管理.NET类型,同时负责一些底层细节的工作,如内存管理,应用托管,处理线程,安全检查等,它包含了一个重要名为msc ...
- Android学习笔记-构建一个可复用的自定义BaseAdapter
转载自http://www.runoob.com/w3cnote/android-tutorial-customer-baseadapter.html 作者:coder-pig 本节引言: 如题, ...
- Spark学习笔记——构建分类模型
Spark中常见的三种分类模型:线性模型.决策树和朴素贝叶斯模型. 线性模型,简单而且相对容易扩展到非常大的数据集:线性模型又可以分成:1.逻辑回归:2.线性支持向量机 决策树是一个强大的非线性技术, ...
随机推荐
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 网格系统实例:中型和大型设备
<!DOCTYPE html> <html> <head> <title>Bootstrap 实例 - 中型和大型设备</title> &l ...
- spring boot properties文件与yaml文件的区别
编写是没有提示的话在pom中添加依赖,如下: <!-- 配置文件处理器 编写配置时会有提示 --> <dependency> <groupId>org.spring ...
- DHCP原理及报文格式
DHCP原理及报文格式 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是IETF为实现IP的自动配置而设计的协议,它可以为客户机自动分配IP地址. ...
- 页面阻止某个按键的键盘事件(event.stopPropagation与event.preventDefault的区别及如何兼容IE8)
http://blog.csdn.net/rocklee/article/details/53160656
- 开源代码License
参考:https://mp.weixin.qq.com/s/Q29NGDIbyCwm6KiAKqI46A
- 利用ProxySQL实现MySQL的读写分离
本文简单介绍ProxySQL的安装及如果实现后端MySQL主从结构的读写分离. 一.ProxySQL安装 Proxy官方地址:https://proxysql.com/ proxysql-2.0.8- ...
- 解决sublime不能安装packages的问题
问题如下:该问题产生的原因是因为默认的配置中无法访问 "https://packagecontrol.io/channel_v3.json"该文件造成的 解决: 1.下载 chan ...
- JS清除空格之trim()方法
JQ: $.trim() 函数用于去除字符串两端的空白字符. 注意:$.trim()函数会移除字符串开始和末尾处的所有换行符,空格(包括连续的空格)和制表符.如果这些空白字符在字符串中间时,它们将被保 ...
- CURL_模拟登录
<?php $curl = curl_init(); $url = "http://www.imooc.com/user/login"; //$url = "htt ...
- el-select 选项值动态更新的问题
如果 类似 el-select 等表单元素绑定了 类似 a.b 之类的属性,而不是直接的一级属性的话,当这个属性发生更改的时候,它的显示效果可能不会动态地进行更新,这个时候需要使用 Vue.$se ...