原生和jQuery的ajax用法


form數據的序列化:

$('#submit').click(function(){
    $('#form').serialize();        //會根據input里面的name,把數據序列化成字符串;eg:name=yang
    $('#form').serializeArray();    //會根據input里面的name,把數據序列化成數組;eg:[object]
  //注意:沒有name會獲取不到值
//下面兩種不是jQuery的方法 JSON.parse() //json字符串轉化為json對象 JSON.stringify() //json對象轉化為json字符串 });

jQuery的ajax方法:

$.ajax({
    url:'/comm/test1.php',
    type:'POST', //GET
    async:true,    //或false,是否異步
    data:{
        name:'yang',age:25
    },
    timeout:5000,    //超時時間
    dataType:'json',    //返回的數據格式:json/xml/html/script/jsonp/text
    beforeSend:function(xhr){
        console.log(xhr)
        console.log('發送前')
    },
    success:function(data,textStatus,jqXHR){
        console.log(data)
        console.log(textStatus)
        console.log(jqXHR)
    },
    error:function(xhr,textStatus){
        console.log('錯誤')
        console.log(xhr)
        console.log(textStatus)
    },
    complete:function(){
        console.log('結束')
    }
})

原生的ajax方法:

$('#send').click(function(){
    //請求的5個階段,對應readyState的值
        //0: 未初始化,send方法未調用;
        //1: 正在發送請求,send方法已調用;
        //2: 請求發送完畢,send方法執行完畢;
        //3: 正在解析響應內容;
        //4: 響應內容解析完畢;

    var data = 'name=yang';
    var xhr = new XMLHttpRequest();        //創建一個ajax對象
    xhr.onreadystatechange = function(event){    //對ajax對象進行監聽
        if(xhr.readyState == 4){    //4表示解析完畢
            if(xhr.status == 200){    //200為正常返回
                console.log(xhr)
            }
        }
    };
    xhr.open('POST','url',true);    //建立連接,參數一:發送方式,二:請求地址,三:是否異步,true為異步
    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');    //可有可無
    xhr.send(data);        //發送
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM