-------------------ajax: 数据交互----------------------
表单form 用户体验非常差 流量地址名记得写全。
表单的三要素:1 action 告诉数据提交到哪里; 2 name 数据的名字; 3 value 值
--------------------服务器: 集成环境 wamp : php+mysq
l-------------缓存:浏览器对同一个地址 只会访问一次。解决: 添加随机因子1 随机数 Math.random();2 添加时间戳 new Date().getTime();
-------------------编码: 保证所有文件都是utf-8编码---eval: 把字符串代码转换成js可以执行的代码--json转字符串: JSON.stringify--------------字符串转json:------------------------ 1 eval —— 注意必须加括号 例如:eval("("+str+")") str是来自后台的json格式字符串 "{a:15,b:5}" 后台不会有人给你加()的,所以一定要记得自己加。原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。 加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:alert(eval("{}"); // return undefined alert(eval("({})");// return object[Object]
2 JSON.parse(standJson) —— 标准格式的json 属性名和字符串必须带双引号3 自己写ajax:
0 电话 ajax对象
1 拨号 连接
2 说话 发送
3 听 接受
1创建对象
XMLHttpRequest(); 兼容 高级 ie7+
ActiveXObject(Microsoft.XMLHTTP); 兼容ie678
判断: 1 window. 2 typeof 3 try...catch —— 耗性能
4判断浏览器 捕获异常: try{ 有肯能出错的代码 }catch(e){ e Exception错误对象 补救的代码 或者 提示信息 } 2 连接 open(方式,地址,是否异步) ajax就是异步请求javascript and XML 方式:get/post get: 数据在地址栏上 不安全 32k 有缓存 post: 数据不在地址栏上 “相对”安全 https 1G 没有缓存 get优势:分享 收藏 地址:url 是否异步:true —— 永远写true 接口:API 应用程序接口 url: 不能出现中文、俄文、韩文、日文。。。 只能出现英文数字下划线,ascii码! 编码:encodeURIComponet(str);3、 发送 get xhr.send(); xhr.send(null); post xhr.send(str); name=value&name=value;4 接收 xhr.onreadystatechange = 回调函数; 回调函数: ajax状态 http状态
(1)ajax状态 **** 0, 对象创建完成 1, 链接数据 2,发送成功 3,接受数据 报文头 4,接收数据 报文体 ----------真正的内容,数据
(2)http状态 http状态 状态码3位组成1xx 接受请求。正在处理2xx 成功3xx 重定向 304缓存 // http状态 [200,300) 3044xx 错误 ---前端相关5xx 错误 ---后台相关
-----post请求1.open2、setRequestHeader("content-type","application/x-www-form-urlencoded")3、send(数据) 发送
--------cookie: 会话跟踪技术 服务器端在客户端保留一部分数据 ??????????????????常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。cookie不能批量设置同一文件夹里边cookie有同名,会有覆盖的session:会话 数据存在服务器端 sessionidgetElementsByName 注意: 只能从document下面获取元素 获取的是一组oForm.onsubmit = function(){} ,
表单有提交功能cookie: 1 大小 非常的小 —— 4k 2 不能跨域 3 不能跨浏览器 4 必须运行在服务器环境下http规范:1 大小 4k 2一个网页最多只能存20个cookie3 一个网站最多只能存300个cookie跨域:域名一个网址的组成:http://www.baidu.com/index.htmlhttp:// www .baidu .com 80 /index.html协议 二级域名 主域名 域名后缀 端口 资源地址跨域: 只要协议、域名、端口任意一个不一样就算跨域! 同源策略!http://www.baidu.com/a.htmlhttp://www.baidu.com/b.html 可以http://mp3.baidu.com/a.htmlhttp://map.baidu.com/b.html 不可以http://www.baidu.com/a.html https://www.baidu.com/a.html 不可以http://www.baidu.com:8080/a.html http://www.baidu.com:8888/a.html 不可以http://www.baidu.com/a.html http://www.baidu.cn/a.html 不可以