【Javascript】Ajaxとは
さて、今回はAjaxについて復習したいと思います。
Ajaxとは?
Ajax(エイジャックス、アジャックス)は、ウェブブラウザ内で非同期通信を行いながらインターフェイスの構築を行うプログラミング手法である。XMLHttpRequest(HTTP通信を行うためのJavaScript組み込みクラス)による非同期通信を利用し、通信結果に応じてダイナミックHTML (DHTML) で動的にページの一部を書き換えるというアプローチを取る。
つまり
ページ遷移のない通信を非同期通信といい、それを利用したのがAjaxです。
簡単なものを作ってみる
こんな感じで適当にフォームを作ってみました。これをそのまま送信するとページが変わってしまいます。ページ遷移の無いように、以下のようなコードを書きます。
index.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Ajax</title> </head> <body> <h3>Ajaxを学ぶ</h3> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <p><input type="text" name ="sample_text" id ="sample" placeholder="適当な文字を入れてみる" style="width: 200px;"> <button id="send">send</button></p> <span>ここに表示</span> <div class="result"></div> <script type="text/javascript"> $(function(){ //button click $('#send').on('click',function(){ $.ajax({ url:'sample.php', type:'POST', data:{ 'sample_text':$('#sample').val(), } }) .done(function(data){ $('.result').html(data); console.log(data); }); }); }); </script> </body> </html>
sample.php
<?php header('Content-type: text/plain; charset= UTF-8'); if(isset($_POST['sample_text'])){ $text = $_POST['sample_text']; echo $text; }else{ echo 'Error!'; } ?>
こんな感じで、Ajax通信ができました。