ホームページ >ウェブフロントエンド >jsチュートリアル >ネイティブJSでajaxを実装する簡単な方法の例

ネイティブJSでajaxを実装する簡単な方法の例

高洛峰
高洛峰オリジナル
2016-12-03 15:55:321154ブラウズ

この記事の例では、ネイティブ JS で ajax を簡単に実装する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

HTML 部分:

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

ここに入力ボタンがあり、クリックするとクリック イベントがトリガーされ、クリック イベントによって 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は大きく4つのステップに分かれており、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が必要です

2つあることに注意してください送信メソッドは、それぞれバックグラウンドの doGet メソッドと doPost メソッドを呼び出します。

PHP 部分:

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

Ajax は PHP データを取得した後、そのデータを対応する div レイヤーに密かに配置します。このクリック イベントはページを更新しませんが、サーバー側のデータを秘密裏に取得します。データを取得した後、Ajax はいくつかのアクション処理を実行することもできます。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。