ホームページ >ウェブフロントエンド >jsチュートリアル >Ajax 入門チュートリアル 30 分間のデモンストレーション
オンラインでも書籍でも、すべてのチュートリアルで。 ajaxを学びたいなら、事前にhtml css javascriptを学ぶ必要があると言われ、多くのフロントエンド初心者が学び始めましたが、例に従って長時間書いても応答がないことに気づきました。最終的には断固としてあきらめました~ [推奨チュートリアル: AJAX ビデオ チュートリアル #]
実は...バックエンド環境をセットアップしていません、~
1. まずバックエンド環境をセットアップしますよね?たとえば、php
私たちフロントエンド初心者にとって、PHP を集中的に学ぶのに、どうすればそんなに多くのエネルギーと時間を確保できるのでしょうか?したがって、次のステップで phpstudy という PHP 環境を構築することをお勧めします。
PHPStudy を D ドライブにインストールしたので、D ドライブに移動し、phpstudy フォルダー内の WWW フォルダーを見つけます。この WWW フォルダーは、コンピューター上のサーバーに相当します。何かを書いたら、それをすべて WWW フォルダに入れます。
WWW フォルダーの下に、index.html と handle.phpという 2 つのファイルを作成します。
テストして、新しく作成したindex.html にコードを記述してみましょう。ブラウザを開き、「localhost」と入力して Enter キーを押します。作成した Web ページを開くことができた場合は、ビルドが成功したことを意味します。失敗した場合は、ポートが競合しているか、phpstudy が実行されていない可能性があります。確認してデバッグしてください
2. PHP で簡単なバックエンド アプリケーションを作成しましょう~
index.html <body> <form action="index.html" method="GET"> <label for="name">姓名</label> <input type="text" id="name" name="name"> <input type="submit" value="提交"> </form> </body>
このフォームをどのように学んだのかわからないので、一言言っておきます: GET は という意味です。使用したい送信メソッドは POST に対応し、
input タグの id は label タグの for 属性に対応し、
input タグの name 属性は使用されます。 PHP は後で ;
handle.php
<meta charset="utf-8"> <!--其实我的这个写法有点取巧了,先凑合着看--> <?php $student=array( array("name"=>"张三","sex"=>"男","age"=>"20"), array("name"=>"李丽","sex"=>"女","age"=>"19"), array("name"=>"王二","sex"=>"男","age"=>"21") ); $str="没有找到这个学生"; $name=$_GET["name"]; foreach ($student as $value) { if($value["name"]==$name){ $str=$value["name"].",".$value["index"].",".$value["sex"].",".$value["age"]; break; }; }; echo $str; ?>
3. Ajax の記述方法に変更します。
index.html
html:
<h1>请输入姓名:</h1> <input type="text" id="name"> <button onclick="submit()">提交</button> <div id="text"></div>
javascript:
function submit(){ var name=document.getElementById('name').value var text=document.getElementById('text') var XHR=new XMLHttpRequest(); XHR.open("GET","handle.php?name="+name); XHRsend(); XHR.onreadystatechange=function(){ text.innerHTML=XHR.responseText }
注:
誰かがテキストを挿入した場合は、innerHTML=XHR を変更してください。 .responseText をalert(XHR.responseTXT)に変更すると、コマンドが複数回実行されることがわかります。この時点で、コードを少し変更する必要があります: (理由については、この記事の後半で説明します)
...... XHR.onreadystatechange=function(){ if(XHR.readyState==4){alert(XHR.responseText)}; } ......
4。サンプルは成功したので、正式に調査に入りましょう~
ajax の利点
#最初の例では、送信ボタンを通じて PHP バックグラウンドに送信され、データが処理されます。 この操作には欠点があります。それは、データのページ全体を同時にバックグラウンドに送信する必要があることです。 たとえばWebサイトに登録し、ニックネーム、パスワード、性別、年齢などを記入して送信すると、背景でニックネームが使用されていることがわかります。 , OK we will ニックネーム、パスワード、性別、年齢などがすべて書き換えられ、再度送信するとニックネームがまだ使用されていることが表示されます。この時、今回は何も問題ないだろうと思って、とてもとてもLOWな名前を選びましたよね?結果が送信されると、バックエンドはパスワードが短すぎるため、情報を再度入力する必要があることを通知します。まあ~諦めろ! ajax テクノロジーを使用するとどうなるでしょうか?データをバックエンドに 1 つずつ送信することも、いつでもどこでも送信することもできます。たとえば、ニックネームを入力すると、バックエンドはすぐにそのニックネームが使用されている、OK、変更してください~と通知します。 AJAX1. AJAX を作成しますvar XHR=new XMLHttpRequest();2. サーバーにリクエストを送信します
XHR.open("GET","handle.php",true); XHR.send();open にはデータ送信の 3 つのパラメーターがあります。メソッド、ファイルの転送(非同期かどうか)送信メソッドが POST の場合、send() を使用します。GET メソッドの場合は、send
#3 にパラメータ null を記述することをお勧めします。 .GET と POST
一言で言えば、get の方が速く、post の方が強力です。
4. サーバーの応答—値を渡したので、何かを返す必要があります。
XHR.responseText; XHR.responseXML;5. イベントに応答する - データはいつ返されるのか?
onreadystatechange 事件 两个属性: readyState status
每当 readyState 改变时,就会触发 onreadystatechange 事件。 readyState 属性存有 XMLHttpRequest 的状态信息。rree
以上がAjax 入門チュートリアル 30 分間のデモンストレーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。