$.ajax、$.get和$.post方法成功,完成请求,错误或失败的回调

时间:2024-02-22 13:56:38

 一、$.get和$.post的不同
    1、get通过url提交的,post是通过http消息实体提交的
    2、get提交大小限制为2kb,post不限制
    3、get提交会被缓存下来,有安全隐患,post没有
    4、get通过$.get,而post通过$.post获取

  二、 $.get 和 $.post的几种传参方式
    1、在url后面直接问号传参: test.php?age=20
    2、以字符串键值对的方式传参:  \'age=20\'
    3、以对象键值对的方式传参:  {age:20}

   $.get 以上三种方式都支持,但是$.post和$.ajax只支持后2种写法
    具体例子:
    1、$.get(\'URL?age=20\',function(result){
        alert(result)
    })
    2、$.get(\'URL,\'age=20\',function(result){
        alert(result)
    })
    3、$.get(\'URL\',{age:20},function(result){
        alert(result)
    })

 

三、$.get 和 $.post方法 成功,完成请求,错误或失败的回调

$.post(\'URL\',$(\'form\').serialize()),success(function(){
            alert(请求成功后);
        }).complete(function({
            alert(请求完成后);
        }).error(function (xhr, status, info) {

       if(xhr.status == 401){

     //do something

   }

})

 

四、ajax请求 成功,完成请求,错误或失败的回调

$.ajax({
  type:"POST",
  url:"URL",
  data:$(\'form\').serialize(),
  success:function(resp,status){
    if(status == "success"){
      //do something
    }
  },
  error:function(xhr,errorText,errorType){
    if(xhr.status == 401){
      //do something
    }
  },
  complete:function(){
    //do something
  }
})

注:在用ajax 提交表单的时候可以用表单序列化获取表单的传参内容,而且传参的形式是字符串键值对,并且还会对url进行编码,在data设置 $(\'form\').serialize() 即可。