美文网首页
ajax.js入门

ajax.js入门

作者: lemontree2000 | 来源:发表于2016-11-06 14:36 被阅读0次

    ajax.js 框架,库

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

    <b>用:</b>
    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方式,用哪个好!!!  
        后台要求用哪种方式,就用,前端其实用什么方式,没所谓
    

    <b>location:</b>

    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
    

    <b>ajax新东西</b>
    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入门

          本文链接:https://www.haomeiwen.com/subject/ftqnuttx.html