【jquery】ajaxでpostする方法

ajaxをつかって非同期的にpostする方法について
基本的なやり方を書いておきます。

jsではpostしたいタイミングで以下のように記述します。

$.post('post先.php', {
            // 送りたいデータ
            data1_name : data1_content
            data2_name : 'data2_content'
        }, function(res){
               // post先.phpで echo した内容がresに入ってくる
               // 送信後の処理をここにかく
        }
    );

送信成功/失敗で処理を分けたい場合は
$.post() でなく $.ajax()を使う必要があります。

post内容を受け取るをphpで受け取る場合
送信先.php は以下のように記述します。

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        $res = '何らかの処理をした結果';
        header('Content-Type: application/json');
        echo json_encode($res);
        exit;
    } catch (Exception $e) {
        header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error!!', true, 500);
        echo $e->getMessage();
        exit;
    }
}

複数のデータをまとめて返す場合、

header('Content-Type: application/json');
と echo の前に書くことで結果をjson形式にでき,js側で連想配列として扱えるようになります。