WebStorm前端開發分享:基於html5+css+js開發前端項目,用ajax技術獲取後端數據

由於課程設計的安排,我對H5+css樣結合js技術對開發前端項目有了更深的瞭解。隨後又學習ajax的使用方法,下面,我將講一下我所學到的關於ajax的知識。

一,ajax是什麼

全稱:asynchronous JavaScript and XML ;(基於XML的異步JavaScript) 通俗的說,就是通過ajax技術將後端的數據拿出來然後在前端頁面中顯示出來。 也相當於異步的JS和XML,要明確ajax不是一種編程語言,它不需要任何瀏覽器插件,但需要用戶允許JS在瀏覽器上面執行。

二,ajax的工作流程

ajax工作流程

三,ajax工作中比較重要的對象

1,XMLHttpRequest 對象

XMLHttpRequest 對象用於在後臺與服務器交換數據。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

對於大多數瀏覽器來說均支持 XMLHttpRequest 對象;但也有少部分不支持,如:IE5 和 IE6 則使用 ActiveXObject對象;
(在這裏因爲基本上很多瀏覽器都支持XMLHttpRequest ,所以就不在講解ActiveXObject的使用啦。)

創建 XMLHttpRequest 對象的語法:

variable=new XMLHttpRequest();

創建ActiveXObject對象的語法:

variable=new ActiveXObject("Microsoft.XMLHTTP");

四,ajax向服務器發送請求及相應

請求;

直接上代碼啦,,,

xmlhttp.open(method,url,async);
xmlhttp.send();

PS———如下:
代碼中:open方法裏面三個參數分別是;
method:請求的類型;GET 或 POST
url:文件在服務器上的位置
async:true(異步)或 false(同步)

對於method參數:一般選用get, 只有以下情況才使用post
1.更新服務器上的文件或數據庫
2.向服務器發送大量數據的時候
3.發送包含未知字符的用戶輸入的時候

url:就是你所請求的服務器的鏈接地址

async:true(異步)或 false(同步)只有這兩種情況,所以根據情況選擇。

響應;

XMLHttpRequest 對象的兩個 responseText 或 responseXML 屬性
responseText:獲得字符串形式的響應數據。如果服務器的響應不是XML文件的時候所用的響應;
responseXML:獲得 XML 形式的響應數據。只有服務器獲得XML文件類型的時候所做出的響應;

ajax執行中所涉及的事件

在執行任務的時候會有兩個屬性:分別是readyState和status

readyState屬性會有五個狀態的存在,分別是:
0: 請求未初始化
1: 服務器連接已建立
2: 請求已接收
3: 請求處理中
4: 請求已完成,且響應已就緒

status屬性有兩個狀態:
200: “OK”
404: 未找到頁面

也就是說,當readyState=4和status=200同時成立的時候表示響應已經就緒;

關於ajax重要參數屬性基本就這些,下面我分享一下我的課程設計所運用的ajax技術。

初始頁面如下:
在這裏插入圖片描述
點擊刷新之後的頁面如下(所得到的數據是在後臺數據庫所獲取的)
在這裏插入圖片描述
代碼解析如下:
在這裏插入圖片描述
詳細代碼在這兒:

 //第一步:創建一個請求對象(負責要數據)
        var xhr = new XMLHttpRequest();
 //第二步:建立與服務端的連接(找到那個服務器去要數據,我所用到的服務器地址是已經創建好的,並且在服務器裏面已經創建好了測試的接口)        xhr.open('get','https://mockapi.eolinker.com/2ZhGVxjacb39010e6753bd9c02ee803e6e3bfeab6e8007c/aboutus');
//設置頭信息,告訴服務器讓數據以表單的形式傳遞過去
        xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
        //    第三部:向服務端發送請求
        xhr.send();
        //    第四部:接收服務端返回的數據
        xhr.onreadystatechange = function (){
            //xhr.readyState=4代表數據請求完成; xhr.status == 200 代表數據返回成功
            if(xhr.readyState=4 && xhr.status == 200){
                var responseData = JSON.parse(xhr.responseText);//json串   JSON.parse() 方法用於將一個 JSON 字符串轉換爲對象。
                var sa = responseData.data;
                var h3 = document.getElementById("title");
                var h4 = document.getElementById("subTitle");
                var p = document.getElementById("info");
                h3.innerHTML = sa.title;
                h4.innerHTML = sa.subTitle;
                p.innerHTML = sa.info;

以上就是我的Ajax的學習之談啦,希望能給大家帶來幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章