jquery和原生js-ajax

form表單
$('#submit').click(function(){
    $('#form').serialize();        //會根據input裏面的name,把數據序列化成字符串;eg:name=yang
    $('#form').serializeArray();    //會根據input裏面的name,把數據序列化成數組;eg:[object]
  //注意:沒有name會獲取不到值


    //下面原生js的方法
    JSON.parse()    //json字符串轉化爲json對象
    JSON.stringify()    //json對象轉化爲json字符串
});

  jq-完整ajaxjavascript

 

$.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('結束')
    }
})

原生js-ajaxphp

$('#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);        //發送
});

jq實際應用html

$(function(){      $('#btn').click(function(){          var obj = $(this);          //has_click  防止重複屢次點擊          var has_click = obj.attr('has-click');          if(has_click == '1'){              return;          }          obj.attr('has-click','1');          var url = '';          var content = '';          $.ajax({                  type:'post',                  url:url,                  dataType:'json',                  data:{content:content},                  beforeSend:function(){                      obj.html('正在處理...');                  },success:function(json){                      if(json.code == '1'){                          //成功                      }else{                          //出錯                          obj.html('操做按鈕').attr('has-click','0');                      }                  }          });      });  });  
相關文章
相關標籤/搜索