Web存储和Ajax
来源:互联网 发布:怎样注册淘宝小号 编辑:程序博客网 时间:2024/06/01 10:42
Web存储
自HTML5后,web存储有两种形式:
cookie:
–Cookie是网页存储在本地的信息:最常见的使用方式是存储sessionID,或者一些用户自定义的设置;
–Cookie的格式:{name}={value};expires={date};path={path};domain={domain};
–只有4k空间可以存储。
–可以使用 document.cookie 来创建 、读取、及删除 cookie
document.cookie="username=John Doe"; //创建cookievar x = document.cookie; //读取cookiedocument.cookie="username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/"; //修改cookiedocument.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";//删除cookie
–设置值时应使用escape转码
–读取Cookie:因为Cookie是一串字符串,所以我们可以使用字符串的操作来读取Cookie:首先使用indexOf来找到变量名所在的位置,再从变量名所在位置开始,查找第一个分号出现的位置,取这两个位置之间的字符串,即为Cookie的值。
原生js操作Cookie非常麻烦,建议使用jQuery
跨站攻击:利用恶意脚本获取Cookie中的私密信息,利用Cookie中保存的权限发起交易等重要请求
防范方法:加密Cookie,对Cookie加入更多的绑定元素
localStorage和sessionStorage
localStorage在本地存储大小有5M。
常用的函数:
–保存数据:localStorage.setItem(key,value);
–读取数据:localStorage.getItem(key);
–删除单个数据:localStorage.removeItem(key);
–删除所有数据:localStorage.clear();
–得到某个索引的key:localStorage.key(index);
当然可以不适用setItem来保存数据,可以通过点语法来实现,如:localStorage.key=value;
。
localStorage有两个属性length和key。
localStorage是将数据存储到本地,关了浏览器还可以使用,而sessionStorage只会在浏览器运行期间存储,关了浏览器,数据就没有了,使用方法和localStorage一致。
Ajax和数据传输
HTTP协议
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
–HTTP协议有三个内容:URL,请求、响应
–常见的HTTP状态码:200(正常),304(未修改),404(找不到),502(服务器错误)
–URL的格式:protocol://domain[/path]?parameters
–Protocol: 协议,http有http和https两种协议
–Domain: 域名
–Path: 访问对象的路径
–Parameters: 参数,多个参数间用&号链接
需要注意的内容
–URL请求方法及其参数
–响应/请求的header
–表单数据
–响应内容
Ajax请求
-Ajax=Asynchronous JavaScript and XML(异步的JavaScript和XML)
-Ajax不是新的编程语言,而是一种使用现有标准的新方法
-Ajax是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
-新建一个Ajax请求:var ajax = new XMLHttpRequest();
-发送一个请求:ajax.open(请求方法,请求地址,true);ajax.send();
-得到请求内容:ajax.response;
JavaScript内置有个XMLHttpRequest的对象,用于发起Ajax请求并处理Ajax响应。
send()
方法全权负责准备Ajax请求和对服务器发出请求。 send(type,url,handler,postDataType,postData)
var request=null;if(window.XMLHttpRequest){ try{ request=new XMLHttpRequest();}catch(e){ request=null; }}else if(window.ActiveXObject){ try{ request=new ActiveXObject("Msxm12.XMLHTTP"); }catch(e){ try{ request=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ request=null; }}}
创建XMLHttpRequest对象后,换成设定处理请求的函数,然后开启请求。
request.onreadystatechange=handler;request.open(type(GET or POST),url(处理数据程序地址),true);request.send();
兼容性处理
var xmlhttp;if(window.XMLHttpRequest){//code for IE7+,Firefox,Chrome,Opera,Safarixmlhttp=new XMLHttpRequest();}else{//code for IE6,IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
测试工具 POSTMAN
JSON
–JSON是网络传输的标准数据格式之一
–JSON:JavaScript 对象表示法(JavaScript Object Notation)。
–JSON 是存储和交换文本信息的语法。类似 XML。
–JSON 比 XML 更小、更快,更易解析。
{"sites":[ {"name":"Runoob", "url":"www.runoob.com"}, {"name":"Google", "url":"www.google.com"}, {"name":"Taobao", "url":"www.taobao.com"}]}
JSON 语法规则
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
–JSON可以转换成JavaScript对象,反之却不能
–通过JSON.stringify( )
将JSON转换为字符串
–通过JSON.parse( )
将字符串转换为JSON
–JavaScript对象是类的实例化产物
本博客仅用于记录web前端学习情况
- Web存储和Ajax
- WEB-AJAX和JQuery篇
- Web存储-localStorage和sessionStorage
- web存储用户名和密码
- loner_li AJax 实现数据的 无刷新分页 实例(引用web服务文件和存储过程)
- Web存储之Cookie和Web Storage
- AJAX和Web开发新技术DynamicFaces简介
- XMLHttpRequest和AJAX入主Web开发
- XMLHttpRequest和AJAX入主Web开发
- XMLHttpRequest和AJAX入主Web开发
- 定义RIA、Web 2.0和AJAX
- AJAX和XmlHttpRequest下的Web开发
- AJAX和XmlHttpRequest下的WEB开发
- AJAX和XmlHttpRequest下的WEB开发
- Ajax和传统Web应用的对比
- web第18天ajax和json
- web本地存储localStorage 和sessionStorage
- 应用程序存储和离线Web应用
- 学好UI设计真的会前途无量吗
- 基本概念
- MYSQL【单机多实例配置】 Windows下MySQL多实例运行
- 别说你会AFNetworking3.0/NSURLSession
- JavaScript面试
- Web存储和Ajax
- R极简教程-2:常用挖掘工具介绍
- Oracle使用char查不出数据
- [蘑菇街]回文串
- 两个list高效取出其中新增和相同的数
- shell---反引号,$( )以及eval的比较
- poj 字符串相关之2513 Colored Sticks
- C和C++间struct的深层区别
- git提交代码到远程服务器