ホームページ >ウェブフロントエンド >jsチュートリアル >Ajax 入門チュートリアル 30 分間のデモンストレーション

Ajax 入門チュートリアル 30 分間のデモンストレーション

云罗郡主
云罗郡主オリジナル
2019-01-25 13:15:362742ブラウズ

オンラインでも書籍でも、すべてのチュートリアルで。 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(&#39;name&#39;).value
               var text=document.getElementById(&#39;text&#39;)
        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、変更してください~と通知します。

AJAX

1. 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 分間のデモンストレーション

Ajax 入門チュートリアル 30 分間のデモンストレーション

以上がAjax 入門チュートリアル 30 分間のデモンストレーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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