前端與后端數據交互的方式之Ajax
對於前端學習而言,CSS+HTML+JavaScript的學習在自我學習的情況下掌握也不是很難,但是想要實現前后端的數據交互在沒有指導的情況下學習會是一頭霧水。接下來就讓我來淺談一下前后端數據交互的方式。
web前端與后端是怎么連接的
網站數據處理主要分為三層。
第一層,表示層,這部分可以用HTML代碼,CSS/Javascript代碼來實現等。通過前端代碼可以實現網頁的布局和設計。這層又可以稱為顯示層。也就是你用瀏覽器打開能看到的網頁。
第二層,是業務層,這層是負責處理數據的。常用的代碼語言有PHP,JSP,Java等。通過這些后台處理語言的算法來處理前台傳回的數據。必要的時候進行操作數據庫,然后把結果返回給前端網頁。
第三層,是數據層,這個就是數據庫,用來存儲數據的。通過業務層的操作可以實現增刪改數據庫的操作。
①你接觸到的是這個網頁是屬於表示層,這個網頁一般由HTML標簽結合CSS/JAVASCRIPT來實現的。 這時候你要先填入數據。
②然后你按提交觸發后台處理機制,這時候數據會傳到后台的代碼進行處理。這部分代碼根據不同網站可以使PHP,JSP,JAVA等。 代碼根據程序員預設的算法將收到的數據進行處理之后會相應的對數據庫進行操作,存儲數據等。
③成功操作完數據庫之后,業務層的代碼會再向表示層也就是顯示器端傳回一個指令通知你表格填寫成功
一.從前端向后端傳遞參數方法
1.前端通過form表單,當你點擊submit按鈕發送數據給后台
2.后端會前端請求的反應,接收數據,處理數據再返回給前端。
二.通過ajax傳遞參數,ajax主要有兩種方式get和post(這里我們主要講解ajax)
什么是Ajax
1、Ajax的全稱是Asynchronous JavaScript and XML,即異步JavaScript+XML。
2、它是一種技術方案,但並不是一種新技術。
3、它依賴的是現有的CSS/HTML/Javascript,而其中最核心的依賴是瀏覽器提供的XMLHttpRequest對象。這個對象為向服務器發送請求和解析服務器響應提供了流暢的接口,使得瀏覽器可以發出HTTP請求與接收HTTP響應,實現在頁面不刷新的情況下和服務端進行數據交互
Ajax和XMLHttpRequest 兩者的關系:我們使用XMLHttpRequest對象來發送一個Ajax請求。
關於ajax的優缺點:
get和post兩種方法:
1.POST主要用來發送數據,GET主要用來接受數據;
2.PSOT發送數據的安全性較好,而GET較差;
3.POST發送數據不限制大小,而GET大小受限2~100k。
什么時候用GET和POST:在數據獲取時用GET方式,在操作數據時應使用POST方式。
Ajax的使用
1.var AJAX=new XMLHttpRequest( ); 2.AJAX.open('get','data/test.json',true); 第一個參數:POST||GET 第二個參數:要請求的url 第三個參數:接受一個布爾值,決定請求的方式 為true時,服務器請求是異步進行的,也就是腳本執行send() 方法后不等待服務器的執行結果,而是繼續執行腳本代碼; 為false時,服務器請求是同步進行的,也就是腳本執行send() 方法后等待服務器的執行結果的返回,若在等待過程中超時,則不再等待,繼續執行后面的腳本代碼! 3.ajax.onreadystatechange = function(){ if (ajax.readyState == 4 && ajax.status == 200){ func_succ(ajax.responseText); }else if(ajax.readyState == 4 && ajax.status != 200){ //alert("ajax faild readyState:"+ajax.readyState+" status:"+ajax.status); } }; 4.ajax.send(null);
ajax.readystate