有关ajax的杂七杂八

json方法处理后端数据有

1/ JSON.stringify():将对象、数组或json转为字符串

2/ JSON.parse():将字符串转化对象、数组或json,传统用的是eval()方法转化

2个方法ie6与ie7不支持,引用JSON.js就可支持了(json.org/javascript/json2.js)

json_encode()为后端方法,通常转换数据编码格式

不支持中文的要用编码方法encodeURI()

HTTP状态码(5种,以0-5开头,代表不同类型状态,百度百科详细参照)

ajax发送请求后浏览器响应的5种状态:

0 ->(未初始化)还没有调用open()方法

1 ->(载入)已调用send()方法,正在发送请求

2 ->(载入完成)send()方法完成,已收到全部响应内容

3 ->(解析)正在解析响应内容

4 ->(完成)响应内容解析完成,可以在客户端调用了

xhr.readyState放置不同位置可检测状态

接口理解:带有api的复杂数据url地址或后台人员编写的复杂程序功能

ajax调用接口:ajax函数( 封装后的函数 )的data参数,url?后面的参数,用&连接,注意data下属性代表的各种含义

前端人员利用ajax调用接口时在前台展示数据列表的方法:1/innerHTML累加;2/DOM方法创建标签

ajax调试:审查元素 -> Network -> XHR -> Preview( chrome浏览器为佳 )

ajax跨域限制( 不能在同一域名localhost下请求另一域名下的资源文件 )解决办法:

1/ flash中的xml文件

2/ 创建服务器端文件请求

3/ jsonP方式

jsonP方式过程

fn(data),用函数包住,data内容不受后缀名影响,取决实际文件内容

dom方式动态创建script标签,src后跟上域名

jsonp跨域应用:如仿淘宝或百度等搜索的数据智能提示,站内搜索数据,QQ关联登录等

乱码产生的原因:1/ 字符集编码不统一 2/ 中文的编码和解码问题( encodeURI和decodeURI )

get和post方式:

1/特点

get( 存储容量小,不安全,有缓存,存在中文编码问题,url?后面不带参数请求不了数据内容 )

post( 存储容量大,相对安全,没缓存,不存在中文编码问题,数据放在send()方法里面作为参数传递 )

2/get的解决方案

缓存清除办法:url?后面跟上随时可变的东西,如时间戳

编码问题用encodeURI解决

3/何时使用

get一般在请求一串数据列表

post一般在注册、登录、验证、上传等

ajax的各种应用:瀑布流展示、留言本、即时聊天室、注册登录、表单验证、文件上传、表单发送、分页跳转方式、网页载入进度加载,加载更多等等。

你可能感兴趣的:(有关ajax的杂七杂八)