首頁  >  文章  >  web前端  >  原生JS簡單實作ajax的方法範例

原生JS簡單實作ajax的方法範例

高洛峰
高洛峰原創
2016-12-03 15:55:321128瀏覽

本文實例講述了原生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;  //声明一个空对象用来装入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);

   

例如GET方法:

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

   

例如POST方法:

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

   

提交方式分別呼叫後台的doGet方法和doPost方法處理。

PHP部分:

rrreee

   

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


🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn