美文网首页
面向对象之---ajax

面向对象之---ajax

作者: believedream | 来源:发表于2017-03-06 23:01 被阅读0次

1.Ajax发送请求的几个步骤

1. 创建 XMLHttpRequest 对象

var xhr = new XMLHttpRequest();
//IE6 使用
var xhr= new ActiveXObject('Microsoft.XMLHTTP');

2. 准备发送

xhr.open('get','./check.php',true);

3. 执行发送动作

xhr.send(null);

4. 指定回调函数

        xhr.onreadystatechange=function(){
            if(xhr.readyState == 4){
                if(xhr.status == 200){
                    var data=xhr.responseText;
                }
            }
        }

分析:

    /*
    * 参数一 :请求方式(get获取数据,post提交数据)
    * 参数二 :请求地址
    * 参数三 :同步或者异步标志位,默认是ture表示异步,false表示同步
    */
     get请求
     如果是get请求那么请求参数必须在url中传递
     encodeURI()用来对中文参数进行编码,防止乱码
     ----------------
     var param = 'username='+uname+'&password='+pw;
     xhr.open('get','03get.php?'+encodeURI(param),true);
     ------------------
        xhr.open('get','./check.php',true);
        
    post请求
    --------------------
     var param = 'username='+uname+'&password='+pw;
     xhr.open('post','04post.php',false);
     // 3、执行发送动作
     xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
     xhr.send(param);//post请求参数在这里传递,并且不需要转码
    --------------------
 
 

2.服务器返回相应数据的两种格式

responseXMl

<booklist>
    <book>
        <name><?php echo $arr[0]['name'] ?></name>
        <author><?php echo $arr[0]['author'] ?></author>
        <desc><?php echo $arr[0]['desc'] ?></desc>
    </book>
</booklist>

注意:使用xml传输数据时候需要使用header("Content-Type:text/xml;");

responseText

21.什么叫元数据

描述数据的数据,叫做元数据

json数据格式:

{
    "name":"zhansan",
    "age" :12,
    "hobby":["coding","swimming","singing"],
    "firend":{
            "high":"180cm",
            "weight":"80kg"
        }
}

原生ajax的封装

    
function ajax(url,type,param,dataType,callback){
    var xhr = null;
    if(window.XMLHttpRequest){
        xhr = new XMLHttpRequest();
    }else{
        xhr = new ActiveXObject('Microsoft.XMLHTTP');
    }
    if(type == 'get'){
        url += "?" + param;
    }
    xhr.open(type,url,true);

    var data = null;
    if(type == 'post'){
        data = param;
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    }
    xhr.send(data);
    xhr.onreadystatechange = function(){
        if(xhr.readyState == 4){
            if(xhr.status == 200){
                var data = xhr.responseText;
                if(dataType == 'json'){
                    data = JSON.parse(data);
                }
                callback(data);
            }
        }
    }
}
x.png

相关文章

  • 面向对象之---ajax

    1.Ajax发送请求的几个步骤 1. 创建 XMLHttpRequest 对象 var xhr = new XML...

  • 5 js之回调函数

    实现:以面向对象的形式对ajax请求进行重构

  • 好程序员web前端学习路线之Javascript面向对象

    好程序员web前端学习路线之Javascript面向对象,面向对象是使用对象,面向对象开发就是使用对象开发。 面向...

  • java学习和就业方向

    1、java学习路线(基础(面向对象、集合)、前端(ajax、传值)、框架(ssm、ssh、springmvc)、...

  • JS部分

    原生JS 事件(冒泡、捕获) 变量、作用域 函数 对象 面向对象OOP(闭包、封装、继承) 正则表达式 Ajax(...

  • Lua-基本语法

    1.基本语法 2.表 3.数组 4.面向对象之复制表的方式面向对象 5.面向对象之函数闭包的方式面向对象

  • 面向对象和面向过程

    1.面向对象:面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之...

  • 那些年出现的作业

    Java面向对象之类的练习之模拟计算器 demo Java面向对象之类的练习之ArrayBox封装 demo

  • Ajax

    一、Ajax对象 二、Ajax对象的属性和方法 1、Ajax对象的属性: ①readyState:Ajax状态码0...

  • kot

    #Kotlin之班门弄斧 ##面向对象 ##java和kotlin的交互 ##协程及协程框架 ## 面向对象 ...

网友评论

      本文标题:面向对象之---ajax

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