淺談js ajax提交form表單的認識

來源:互聯網
上載者:User

學代碼的時間也不短了,但是卻很少使用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 的索引值對形式表示。

相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。