一、$.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() 即可。
