zoukankan      html  css  js  c++  java
  • 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-完整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('结束')
        }
    })
    

    原生js-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);        //发送
    });

    jq实际应用

    $(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');
    }
    }
    });
    });
    });


    http://websong.gitee.io/songyublog/
  • 相关阅读:
    移动web基础
    CSS3
    HTML5新属性
    CSS3初体验之伪元素选择器
    HTML5+CSS3day_01
    CSS补充
    CSS_day02
    CSS_day01
    HTML_day02
    HTML_day01
  • 原文地址:https://www.cnblogs.com/webSong/p/6240528.html
Copyright © 2011-2022 走看看