当前位置:首页 > CN2资讯 > 正文内容

EMQ服务器windows

2天前CN2资讯
复习: AJAX:向服务器发起异步HTTP请求,接收处理返回的响应消息,目标是实现页面在无刷新无提交情况下页面内容的局部更新。 使用AJAX发起两种请求消息: GET://1 //2 //3 //4 POST : //1 //2 //3 //3.5 //4 使用AJAX接收五种响应消息: (1)text/plain 服务器端: header('Content-Type: text/plain'); echo 'succ'; 客户端: if(xhr.responseText==='succ'){ ... } (2)text/html 服务器端: header('Content-Type: text/html'); echo "<tr><td>$data</td></tr>"; 客户端: tbody.innerHTML = xhr.responseText (3)application/javascript 服务器端: header('Content-Type: application/javascript'); echo "alert($data); f1(); f2($data)"; 客户端: eval( xhr.responseText ) (4)application/xml 服务器端: header('Content-Type: application/xml'); echo "<bookList><book>$b</book></bookList>"; 客户端: var document = xhr.responseXML (5)application/json 服务器端: header('Content-Type: application/json'); //echo "[ {"bname":"","price":35.5},{} ]"; $list = ...; echo json_encode($list); 客户端: var obj = JSON.parse( xhr.responseText ) 练习: 实现学生查询系统 (1)编写SQL:qinghua.sql,表qh_class( cid, cname, count ),插入三个班级(10/20/30);qh_student(sid, sname, score, classId),插入八九行记录 (2)编写PHP:class_select.php,向客户端输出所有的班级信息,以JSON格式: [{},{},{}] (3)编写HTML:qinghua.html,页面加载完成(window.onload)后,异步请求,获取所有的班级信息,填充在一个select中 <select> 10:15 <option value="10">软件0801班</option> </select> (4)编写PHP:student_select.php,接收客户端提交的cid,返回指定班级中的学生数据,以JSON格式: [{},{},{}] (5)修改HTML:qinghua.html,为select做事件绑定,监听选项改变,异步请求选定班级中的学生,显示在table中 <table> <thead></thead> <tbody></tbody> </table> 今日目标: (1)使用jQuery的AJAX封装函数——六个 1.使用jQuery的AJAX封装函数之一——load() 使用方法: $('选择器').load(URL, [请求数据], [成功后的回调函数]) $('ul').load('search_suggest.php'); 含义说明: 向指定的URL发起异步请求;若有请求数据,就是POST请求,否则就是GET请求;获取服务器端返回HTML片段响应,设置为当前选定元素的innerHTML。 使用限制: (1)服务器返回的必需是HTML片段; (2)服务器端返回的数据会替换已有数据! 案例演示: 异步加载多个页面完全一样的页头/页尾 (1)编写header.php,只含有页头中的DIV片段 (2)编写footer.php,只含有页尾中的DIV片段 (3)编写jdindex.php,内容: <body> <div id="header"></div> <div id="main">XXXXXX</div> <div id="footer"></div> </body> 待页面加载完后,异步请求页头,放在#header中 待页面加载完后,异步请求页尾,放在#footer中 2.使用jQuery的AJAX封装函数之二——$.get() 使用方法: $.get(URL, [请求数据], 响应成功后的回调函数) $.get('delete.php', 'sid=8', function(txt){ if(txt==='succ'){} }) $.get('delete.php', {sid:8}, function(txt, msg, xhr){ if(txt==='succ'){} }) 含义作用: 向指定的URL发起异步的GET请求,把请求数据追加在URL的后面;服务器给出了成功的响应会自动调用第三个参数——doResponse。 提示:$.get会根据服务器端返回的响应消息内容类型自动决定如何处理,如applicatoin/json,会自动调用JSON.parse(xhr.responseText)进行解析! 案例演示:实现异步的学生记录的删除 案例演示:异步级联下拉列表 $.get() (1)编写SQL:qinghua.sql,产品类别表 qh_type( tid, tname ),插入三行数据(10-相机、20-洗衣机、30-手机),生产厂家表qh_producer( pid, pname, typeId ),插入若干记录;产品型号表 qh_model( mid, mname, producerId ) (2)编写PHP:type_select.php,向客户端返回所有的产品类型,以JSON格式 (3)编写PHP:producer_select.php,根据客户端提交的typeId,向客户端返回该类型所有的厂家,以JSON格式 (4)编写PHP:model_select.php,根据客户端提交的producerId,向客户端返回该厂家生产的所有型号,以JSON格式 (5)编写HTML,product.html, 当页面加载完成后,异步请求所有的“产品类型”; 当产品类型选项发生改变后,异步请求对应的“生产厂家”; 当生产厂家选项发生改变后,异步请求该厂家的“产品型号” 3.使用jQuery的AJAX封装函数之三——$.post() 使用方法: $.post(URL, 请求数据, 响应成功后的回调函数) 含义作用: 向指定的URL发起异步的POST请求,把请求数据放置在请求主体——无需手写3.5步;服务器给出了成功的响应会自动调用第三个参数——doResponse。 提示:$.post会根据服务器端返回的响应消息内容类型自动决定如何处理,如applicatoin/json,会自动调用JSON.parse(xhr.responseText)进行解析! 案例演示:实现异步的用户注册 (1)编写SQL:qinghua.sql,用户信息表 qh_user(uid, uname,upwd) (2)编写PHP:user_add.php,接收客户端提交的uname和upwd,返回succ或err (3)编写HTML:user_add.html,没有表单,只有两个输入域+BUTTON按钮,点击后异步提交给服务器 $.post(url, {uname:xx, upwd:xx}, fn) 4.使用jQuery的AJAX封装函数之四——$.getScript()——了解 使用方法: $.getScript(URL, [请求数据], [响应成功后的回调函数]) $.getScript('x.php') 含义作用: 向指定的URL发起异步的GET请求,把请求数据放置在url后面;服务器给出了成功的响应会自动执行eval( xhr.responseText )。 使用限制: 即使不是,也会强制调用eval(xhr.responseText)进行执行!而$.get()可以实现同样的功能,却可以根据服务器端的响应头来决定是否调用eval() 5.使用jQuery的AJAX封装函数之五——$.getJSON()——了解 使用方法: $.getJSON(URL, [请求数据], 响应成功后的回调函数) $.getJSON('x.php', function(obj){})

  含义作用:

      向指定的URL发起异步的GET请求,把请求数据放置在url后面;服务器给出了成功的响应会自动执行JSON.parse( xhr.responseText )

  使用限制:

即使不是,也会强制调用JSON.parse(xhr.responseText)进行执行!而$.get()可以实现同样的功能,却可以根据服务器端的响应头来决定是否调用JSON.parse()

 

 

 

上述五个函数的通病:只能处理成功的响应消息!如果服务器端返回了错误的响应消息(如404)上述五个函数不会有任何的提示——没有相关的回调函数!

面试题:如何使用jQuery的AJAX相关函数,监听失败的响应消息??——使用万能AJAX封装函数:$.ajax

 

6.使用jQuery的AJAX封装函数之六——$.ajax()——重点

  使用方法:

$.ajax( { type: 'GET', //POST/PUT/DELETE... url: 'x.php', data: 'k=v&k=v', //{k:v, k:v} beforeSend: fn, //在请求发送前的回调 success: fn, //响应成功后的回调 error: fn, //响应失败后的回调 complete: fn //响应完成后(不论成败)的回调 } )

成功的调用:  beforeSend()  =>  success()  => complete()

失败的调用:  beforeSend()  =>  error()  => complete()

对应于原生AJAX: //1 var xhr = new XMLHttpRequest(); //2 xhr.onreadystatechange = function(){ if(xhr.readyState===4){ if(xhr.status===200){ success(); }else { error(); } complete() } } //3 xhr.open() beforeSend(); //4 xhr.send()

 

 

 

 

课后练习:仿beijing.huimaiche.com中的车辆展示

 

 

(1)编写SQL,创建huimaiche.sql,保存车辆数据(cid,cname,price,count,type(lt8/lt15/lt30/suv))

(2)编写PHP,创建car_list.php,根据客户端提交的车辆类别,返回该类别下所有汽车,以JSON格式

(3)编写HTML,创建car_list.html,用户鼠标悬停在不同的车辆类别上,异步请求该类别下所有的汽车

 

(4)编写PHP,创建car_select.php,根据客户端提交的cid,向客户端输出该车辆的所有信息,以JSON格式

(5)修改car_list.html,当用户点击某个车辆的图片时,在下方显示出该车辆的全部信息

 

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/29838.html

    分享给朋友:

    “EMQ服务器windows” 的相关文章

    大陆VPS选购指南:如何选择最适合的虚拟私人服务器

    1.1 什么是大陆VPS 大陆VPS,即中国大陆的虚拟私人服务器,是一种通过虚拟化技术将一台物理服务器分割成多个独立虚拟服务器的服务。每个VPS都拥有独立的操作系统、存储空间和带宽资源,用户可以像使用独立服务器一样进行管理和配置。大陆VPS的优势在于其本地化的数据中心和网络连接,能够为国内用户提供更...

    UCloud服务器性能与安全性的全面评测

    UCloud服务器概述 UCloud是一家专注于云计算服务的公司,提供多样的云服务器选项,适合不同业务需求。它不仅满足基本的计算、存储和网络功能,还在高可用性、高性能和安全性上表现出色。通过细致的产品设计,UCloud确保每一位用户都能在稳定的环境中运作,充分利用其提供的技术优势。 在使用UClou...

    REST教程:掌握RESTful接口设计与开发最佳实践

    REST(Representational State Transfer)是一种架构风格,广泛应用于网络服务的设计。它强调通过标准的HTTP协议来实现资源的操作,设计简约而高效。在我学习RESTful接口的过程中,发现其核心特性尤其重要,包括无状态性、资源导向和统一接口等。这些特性不仅让开发变得更加...

    便宜的国外主机推荐:性价比高的主机选择指南

    在选择国外主机服务时,价格通常是一个重要的考量因素。面对纷繁复杂的选择,我发现一些便宜且性能不错的国外主机服务,让我大为惊喜。这里,我想和大家分享几款我认为性价比非常高的国外主机。 首先,我接触到UCloud。它的起售价为34元一个月,提供包括云服务器、GPU服务器和裸金属服务器在内的多种产品。这种...

    腾讯云与Cloudflare的比较分析:助力企业数字化转型的最佳选择

    在数字化转型的浪潮下,越来越多的企业开始依赖云计算技术来推动业务发展。其中,腾讯云和Cloudflare作为行业的佼佼者,吸引了广泛的关注。腾讯云是腾讯集团倾力打造的云计算品牌,凭借强大的技术背景和丰富的产品线,逐渐成为全球知名的云计算服务商。它的基础设施覆盖全球五大洲,运营于58个可用区,能够为不...

    如何有效购买和使用代理IP服务,满足多种需求 - IP够卖指南

    在我们开始讨论“IP够卖”的购买与应用流程之前,理解购买渠道的多样性非常重要。很多人可能会问,究竟从哪里可以获取到合适的代理IP?实际上,有几种渠道可以选择,适合不同需求的用户。 首先,专业代理服务商无疑是最推荐的选择。这类服务商通常提供稳定且高质量的代理服务,能满足诸多使用场景,比如数据爬虫、电商...