HTML5 7

 

 

今日目标:php

(1)补充小知识点:localStorage的事件html

(2)HTML5新特性之十——WebSocket数据库

(3)HTML5阶段项目 —— 目前全部知识的大综合演练服务器

 

 

1.如何得知localStorage中数据的修改?session

  localStorage中任何数据的修改,都会触发一个事件:异步

  window.onstorage = function(){  }socket

 

2. HTML5新特性之十——WebSocketide

  提示:重在概念的理解spa

  HTTP协议:是基于“请求-响应”模型的协议,客户端发起一个请求,服务器就要返回一个响应,请求消息和响应消息是一一对应的!没有请求就没有响应!在一些特别的应用场景下(如实时走势图,在线聊天室),只能使用“定时器+AJAX”不停的向服务器发起请求以得到最新的数据——“心跳请求”,解决方案并不完美:心跳过快服务器压力过大,过慢致使数据实时性差。code

 WebSocket协议:是基于“广播-收听”模型的协议,只要客户端链接到服务器上,就再也不断开,一方能够发送多条消息,对方只接收而不发送,能够解决上述应用中的问题。这个协议自己的问题:客户端与服务器是“永久链接”,致使服务器能够同时链接的客户端数是有限的!

 

基于WebSocket协议的应用必需两套程序:

(1)服务器端程序:                

       可以使用PHP、Java、Node.js等语言编写

       注意:PHP编写的WebSocket服务器独立运行的,无需依赖Apache! 

       c:/xampp/php/php.exe  e:/socket_server.php

       记得修改php.ini文件的907行!去掉开头的分号

       extension=php_sockets.dll

(2)客户端程序:

       可以使用PHP、Java、HTML5/JavaScript等语言编写

    使用HTML5提供的WebSocket对象建立WS客户端:

       var wsClient = new WebSocket('ws://地址:端口');

       wsClient.onopen = function(){      //链接成功

              ws.send('msg');                    //发送消息

              ws.onmessage = function(e){  //接收消息

                     //e.data

              }

       }

WebSocket是一种新的通信协议,与HTTP协议不一样,是基于“广播-收听”模型的协议,适用于一些特殊的应用场合,如聊天室、实时走势获取

 

 

3.“京东商城项目”已经实现的功能点

  (1)首页

  (2)产品列表页

  (3)产品详情页

  (4)登陆页

  (5)注册页

  (6)购物车页

  (7)订单生成页

  (8)用户中心页

 

4.HTML5阶段项目——京东用户中心

  须要实现的功能点:

  (1)用户注册

  (2)查看购物车后肯定下单,生成订单

  (3)进入用户中心查看本身的全部订单

  (4)进入用户中心查看本身的消费统计

  (5)进入用户中心参与幸运抽奖

 

  须要使用到的技术:

  MySQL、PHP、AJAX、Video、表单2.0、WebStorage、Canvas绘图、SVG绘图

 

  实现步骤:   SQL  ->  PHP  ->  HTML/JS

  (1)编写PHP,user_add.php,接收客户端提交的uname和upwd,添加到数据库中,返回{"code":1,"userId": 3}

  (2)编写HTML,register.html,实现异步的用户注册,成功后跳转到产品列表页

  (3)修改HTML,productlist.html,用户登陆成功后把用户名和编号保存到sessionStorage中

 (4)修改HTML,shoppingcart.html,从sessionStorage中读取登陆用户的信息,若没有,则跳转到productlist.html让用户登陆;如有则显示出“欢迎回来:XXX”。点击“去结算”按钮后跳转到addorder.html

  (5)建立HTML,addorder.html,异步请求页头和页尾,若没有用户登陆信息,则跳转到productlist.html让用户登陆

  (6)修改HTML,addorder.html,根据登陆信息,异步请求当前登陆用户购物车中的内容,显示在“下单页面”中

 -----------------文华老师的进度线----------------------

 (7)编写SQL,添加新的表                          

       建立订单信息表:jd_order( oid, rcvName, addr, price, payment(付款方式1/2/3/4),orderTime, status(订单状态1/2/3/4/5/6),userId )

       建立订单详情表:jd_order_detail ( did, orderId, productId, count )

  (8)编写PHP,order_add.php,接收客户端的rcvName, addr, price, payment(付款方式1/2/3/4),userId,执行以下的SQL:

    SQL1:向jd_order表中插入一行记录,获得oid

       SQL2:读取当前用户购物车中的条目,

       SQL3:(循环)针对每一个购物车项执行INSERT,插入到jd_order_detail

       SQL4:删除当前用户购物车中的条目

       返回:{"code":1, "orderId": 9234234134}

  (9)修改HTML,addorder.html,把全部的用户输入/选择全放在<input type="hidden">,点击“提交订单”后,异步提交给服务器,获取到订单编号,跳转到addorder_succ.html,提示下单成功

相关文章
相关标签/搜索