ajax.js入门

ajax.js 框架,库

干嘛的: 读数据,写数据
有哪些读数据方式: form/href
为什么学: 无刷新读取数据
要求:
必须要在服务器环境下--WAMP
wamp的服务器目录: C:\wamp\www
访问服务文件:
a): 开启wamp服务
b): 本地域名: localhost ~~ C:\wamp\www
www.abc.com ~~ 人家机器:c:\xxx\ooo
web-->sql
本机-->服务器(别人的机器)
本机(浏览器) --> 本地(特殊目录)

用:
ajax('文件地址/文件名.后缀',成功回调,失败回调)

    问题1:    缓存问题
    解决: 每次访问的地址都在变化
            地址+ '?t=' + Math.random()
            地址+ '?t=' + new Date().getTime()

    问题2:    乱码
    解决: html和要读取的文件的编码要保持一致

    扩展名给人看的,机器不管,只要数据对了就能读

    www.abc.com/data/c?t=0.23424&a=12&b=5


*** 服务器返回的数据,的类型都是字符,需要解析的

写:
1.搞个电话-> 2.拨号->3.表白-->4.被拒、接受
1.创建ajax对象->2.创建连接->3.发送请求->4.接收

创建ajax对象:   new XMLHttpRequest()/ActiveXObject
拨号: oAjax.open(提交方式,url,是否异步)
发送: oAjax.send();
接收: 
        侦听状态oAjax.onreadystatechange=fn
        返回状态码   oAjax.readyState
        返回http状态码:  oAjax.status
        返回数据:   oAjax.responseText

web-->ajax-->php-->sql-->php-->web

数据交互(和后台交互)靠接口

规矩:有后台定的
规矩==接口(规范)

user.php?act=xxx&user=用户名&pass=密码

ajax(url,success,error) --> url需要拼接口 累

ajax(url,data,success,error)
data --> string
url + ? + data

问题: ie 注册中文名,有问题,传输中文有问题
解决: 转码
    web-->url(中文转码)-->php--->sql(中文码,逆转-->中文)

    encodeURIComponent(字符)  永远都加,不会有副作用
        *** 对字母,数字没效果
get/post方式,用哪个好!!!  
    后台要求用哪种方式,就用,前端其实用什么方式,没所谓

location:

window.location  返回窗口地址
http://www.abc.com/app/index.html?a=12&b=5#1

location.protocol   返回http: 协议
location.host       返回域名,主机地址 www.abc.com
location.pathname   返回路径   /app/index.html?
location.search   返回数据 a=12&b=5
location.hash       返回锚  #1

ajax新东西
ajax2.0 不兼容 for 手机

    获取服务器信息:
        oAjax.getResponseHeader(属性) 获取响应头的某个
        oAjax.getAllResponseHeaders()   获取所有

        oAjax.timeout=2000; //设定超时
        oAjax.ontimeout=fn  超时之后所指向的函数

        formdata对象: 表单数据对象
        创建formdata对象:   new FormData();
        new FormDate(页面表单对象)    数据从页面表单里面取
        添加数据给formdata对象:    oFormData.append('a',12);

            *** 表单数据对象必须以post方式提交
        oAjax.onload=fn  代替了onreadystatechange
        oAjax.onabort=fn    发生中断时
        oAjax.onerror=fn    发送错误
        oAjax.onprogress=fn 进度
            ev.loaded 已经完成
            ev.total  共有多少

你可能感兴趣的:(ajax.js入门)