學代碼的時間也不短了,但是卻很少使用ajax,後來特地去瞭解了一下,以下是作為初用ajax的新人對ajax的看法以及認識。
Ajax,非同步請求,通過在後台與伺服器進行少量資料交換,AJAX 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。
最近自己測試ajax提交form表單,表單提交有post和get兩種使用更多的是post方法,雖然與 POST 相比,GET 更簡單也更快,並且在大部分情況下都能用。然而,在以下幾種情況中,使用 POST 請求更為有效:
1.無法使用快取檔案(補救伺服器上的檔案或資料庫)
2.向伺服器發送大量資料(POST 沒有資料量限制)
3.發送包含未知字元的使用者輸入時,POST 比 GET 更穩定也更可靠
$get方式提交表單
get() 方法通過遠程 HTTP GET 請求載入資訊
格式
$(selector).get(url,data,success(response,status,xhr),dataType)
比如:
請求 demo.php 網頁,傳送2個參數,忽略傳回值:
1
$.get("demo.php", { name: "John", time: "2pm" } );
demo.php 是發送請求的URL地址
{ name: “John”, time: “2pm” } 要發送給伺服器的資料.
$POST方式提交表單
$.post
jQuery.post( url, [data], [callback], [type] ) :使用POST方式來進行非同步請求
參數:
url (String) : 發送請求的URL地址.
data (Map) : (可選) 要發送給伺服器的資料,以 Key/value 的索引值對形式表示。
callback (Function) : (可選) 載入成功時回呼函數(只有當Response的返回狀態是success才是調用該方法)。
比如,註冊時,驗證碼的使用
<script type="text/javascript">
function redirect(url) {
location.href = url;
}
$("#code_btn").click(function(){
var tel = $("#username").val();
if(tel == ""){
alert("請輸入正確的手機號碼作為帳號進行註冊");
$("#username").focus();
return false;
}
if(!(/^1[3|4|5|8|7][0-9]\d{4,8}$/.test(tel))){
alert("請使用正確的手機號碼作為帳號進行註冊!");
$("#username").focus();
return false;
};
var codeNum = $("#code").val();
$.post( '{APP_PATH}index.php?m=member&c=index&a=public_send_message', {tel:tel,codeNum:codeNum}, function(result){
// console.log(result);
})
timep(60);
});
function timep(j){
$("#code_btn").attr('disabled',"true");
$("#code_btn").val(j+"秒");
time=setInterval(function(){
j=j-1;
$("#code_btn").val(j+"秒");
if(j==0){
$("#code_btn").removeAttr('disabled');
clearInterval(time);
j=60;
$("#code_btn").val("點擊擷取驗證碼");
}
},1000);
}
</script>
APP_PATH}index.php?m=member&c=index&a=public_send_message 是發送請求的URL地址
{tel:tel,codeNum:codeNum} 是要發送給伺服器的資料,以 Key/value 的索引值對形式表示。