Ajaxの設定(新しい方の)

しばらく使っていなかったらAjaxが新しくなっておりました。大した違いではないのですが、古い方のsuccess:~error:~という書き方が後方互換でかろうじて動いている感じなので新しい方使った方がいいです。基本的な書き方は、

$.ajax({
    url: "xxxx.php",
}).done(function(data){
    alert('success!!');
}).fail(function(data){
    alert('error!!!');
});

という構文になっていて、xxx.phpからの標準出力をAjaxの方で受け取るというようなものになっています。パラメータや値の受け渡しは以前とそんなに変わっていないので直感的にはそのまま使っていい感じになっているようです。jQueyのajax関数からつなげて、.done().faile()です。構文的には簡素なので問題ないかと思います。
実際に動くものをつくると以下のようなソースになります。index.htmlのAjaxからdoajax.phpを叩いて1が返ってくるというやつです。ここではデータ・タイプとかが何も指定されていないシンプルなものになります。

[index.html: Ajax本体]
<!DOCTYPE html>
<html>
<head>
    <script src="https://code.jquery.com/jquery-2.2.4.js"></script>
    <title>Ajax</title>
<script type="text/javascript">
    $.ajax({
        url: "doajax.php",
    }).done(function(data){
        alert(data);
    }).fail(function(data){
        alert('error!!!');
    });
</script>
</head>

<body>
<h1>Ajax</h1>

</body>
</html>

値を返す方はこっち。

[doajax.php: 値を返す方]
<?php echo 1; ?>

実際はPHPの方もDBに接続して何らかの処理をしてそれをjsonで返すとかいう動きをするものになります。今今だったらnode.jsとかも使えるのかな。

Last update: 2016.11.15 (火)