Ajaxとは何ですか?
AJAX 完全な形式は非同期です JavaScript &XML。 これは、サーバーとクライアント間の相互作用を減らすテクノロジーです。 これは、ページ全体ではなくWebページの一部のみを更新することによって行われます。非同期の相互作用はJavaScriptによって開始されます。AJAXの目的は、ページを更新せずにサーバーと少量のデータを交換することです。
JavaScript クライアント側のスクリプト言語です。 これは、JavaScriptをサポートするWebブラウザーによってクライアント側で実行されます。JavaScriptコードは、JavaScriptが有効になっているブラウザーでのみ機能します。
XML Extensible MarkupLanguageの頭字語です。 これは、人間と機械で読み取り可能な形式の両方でメッセージをエンコードするために使用されます。 HTMLに似ていますが、カスタムタグを作成できます。 XMLの詳細については、次の記事を参照してください。 XML
なぜAJAXを使用するのですか?
- デスクトップアプリケーションと同じように、リッチでインタラクティブなWebアプリケーションを開発できます。
- 検証は、ユーザーがフォームを送信せずにフォームに入力するときに実行できます。 これは、オートコンプリートを使用して実現できます。 ユーザーが入力した単語は、処理のためにサーバーに送信されます。 サーバーは、ユーザーが入力した内容と一致するキーワードで応答します。
- 別のドロップダウンボックスの値に応じて、ドロップダウンボックスにデータを入力するために使用できます
- サーバーからデータを取得し、ページ全体をロードせずにページの特定の部分のみを更新できます。 これは、次のようなものをロードするWebページパーツに非常に役立ちます。
- ツイート
- コメンス
- サイトにアクセスするユーザーなど
PHPAjaxアプリケーションを作成する方法
ユーザーが人気のあるPHPMVCフレームワークを検索できる簡単なアプリケーションを作成します。
このアプリケーションには、ユーザーがフレームワークの名前を入力するテキストボックスがあります。
次に、mvc AJAXを使用して一致するものを検索し、検索フォームのすぐ下にフレームワークの完全な名前を表示します。
ステップ1)インデックスページを作成する
Index.php
<html> <head> <title>PHP MVC Frameworks - Search Engine</title> <script type="text/javascript" src="https://www.guru99.com/auto_complete.js"></script> </head> <body> <h2>PHP MVC Frameworks - Search Engine</h2> <p><b>Type the first letter of the PHP MVC Framework</b></p> <form method="POST" action="index.php"> <p><input type="text" size="40" id="txtHint" onkeyup="showName(this.value)"></p> </form> <p>Matches: <span id="txtName"></span></p> </body> </html>
ここに、
-
「onkeyup = “showName(this.value)”」は、テキストボックスにキーが入力されるたびにJavaScript関数showNameを実行します。
この機能はオートコンプリートと呼ばれます
ステップ2)フレームワークページを作成する
フレームワーク.php
<?php $frameworks = array("CodeIgniter","Zend Framework","Cake PHP","Kohana") ; $name = $_GET["name"]; if (strlen($name) > 0) { $match = ""; for ($i = 0; $i < count($frameworks); $i++) { if (strtolower($name) == strtolower(substr($frameworks[$i], 0, strlen($name)))) { if ($match == "") { $match = $frameworks[$i]; } else { $match = $match . " , " . $frameworks[$i]; } } } } echo ($match == "") ? 'no match found' : $match; ?>
ステップ3)JSスクリプトを作成する
auto_complete.js
function showName(str){ if (str.length == 0){ //exit function if nothing has been typed in the textbox document.getElementById("txtName").innerHTML=""; //clear previous results return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200){ document.getElementById("txtName").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","frameworks.php?name="+str,true); xmlhttp.send(); }
ここに、
- 「if(str.length == 0)」は、文字列の長さを確認します。 0の場合、スクリプトの残りの部分は実行されません。
- 「if(window.XMLHttpRequest)…」Internet Explorerバージョン5および6は、AJAX実装にActiveXObjectを使用します。 Chrome、FireFoxなどの他のバージョンやブラウザはXMLHttpRequestを使用します。 このコードは、アプリケーションがIE 5&6と他の高バージョンのIEおよびブラウザーの両方で動作することを保証します。
- 「xmlhttp.onreadystatechange = function…」は、AJAXインタラクションが完了し、ステータスが200であるかどうかを確認してから、返された結果でtxtNameスパンを更新します。
ステップ4)PHPAjaxアプリケーションをテストする
ファイルindex.phpを保存したと仮定します。phututs/ ajaxで、URL http://localhost/phptuts/ajax/index.phpを参照します。
テキストボックスに文字Cを入力すると、次の結果が得られます。
上記の例は、AJAXの概念と、それがリッチインタラクションアプリケーションの作成にどのように役立つかを示しています。
概要
- AJAXは、Asynchronous JavaScript andXMLの頭字語です。
- AJAXは、Webページの一部のみを更新することにより、クライアントとサーバー間の対話を減らす豊富な対話アプリケーションを作成するために使用されるテクノロジーです。
- Internet Explorerバージョン5および6は、ActiveXObjectを使用してAJAX操作を実装します。
- Internet Explorerバージョン7以降、およびブラウザChrome、Firefox、Opera、SafariはXMLHttpRequestを使用します。
Hope this helps!
Source link