原生JS簡單實現ajax的方法樣本_javascript技巧

來源:互聯網
上載者:User

本文執行個體講述了原生JS簡單實現ajax的方法。分享給大家供大家參考,具體如下:

HTML部分:

<body><input type="button" value="Ajax提交" onclick="Ajax();" /><div id="resText" ></div></body>

這裡有個input按鈕,點擊會觸發click事件,click事件調用Ajax()方法。

JS部分:

<script language="javascript" type="text/javascript">//通過這個函數來非同步擷取資訊function Ajax(){   var xmlHttpReq = null;  //聲明一個Null 物件用來裝入XMLHttpRequest  if (window.ActiveXObject){//IE5 IE6是以ActiveXObject的方式引入XMLHttpRequest的    xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");  }   else if (window.XMLHttpRequest){//除IE5 IE6 以外的瀏覽器XMLHttpRequest是window的子物件    xmlHttpReq = new XMLHttpRequest();//執行個體化一個XMLHttpRequest  }  if(xmlHttpReq != null){  //如果對象執行個體化成功     xmlHttpReq.open("GET","test.php",true);  //調用open()方法並採用非同步方式    xmlHttpReq.onreadystatechange=RequestCallBack; //設定回呼函數    xmlHttpReq.send(null);  //因為使用get方式提交,所以可以使用null參調用  }  function RequestCallBack(){//一旦readyState值改變,將會調用這個函數    if(xmlHttpReq.readyState == 4){        if(xmlHttpReq.status == 200){          //將xmlHttpReq.responseText的值賦給ID為 resText 的元素          document.getElementById("resText").innerHTML = xmlHttpReq.responseText;        }    }  }}</script>

Ajax大約分四步,建立Ajax對象,用open()方法偷偷的跑到伺服器去擷取資料,成功後做相應的處理。用GET方法將要提交的參數寫到open方法的url參數中就行了,此時send方法的參數為null。

例如GET方法 :

var url = "login.php?user=XXX&pwd=XXX";xmlHttpRequest.open("GET",url,true);xmlHttpRequset.send(null);

例如POST方法:

xmlHttpRequest.open("POST","login.php",true);xmlHttpRequest.setRequestHeder("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");xmlHttpRequest.send("user="+username+"&pwd="+password);

如果需要在send裡傳遞參數則setRequestHeder是必須的

需要注意的是根據提交方式的不同,兩種提交方式分別調用背景doGet方法和doPost方法處理。

PHP部分:

<?php  echo "Hello Ajax!";?>

Ajax擷取了PHP的資料後,就會偷偷的將資料放到相應的div層中。這個click事件並沒有使得頁面重新整理,就偷偷的擷取了伺服器端的資料,服務端的資料也可以是從資料庫裡讀取出來的,擷取資料後,Ajax還可以進行一些動作的處理。

一切都在悄無聲息中。

更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript中ajax操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript尋找演算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript資料結構與演算法技巧總結》、《JavaScript遍曆演算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程式設計有所協助。

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.