データのリクエスト
バックエンドからデータをリクエストするために GET と POST を使用できます。ここでは、年齢情報を返すために使用されるテスト ページ age.php があると仮定します。
if(isset($_REQUEST['name']) && $_REQUEST['name'] == 'stephen') { echo '23'; }
<div> <a href="age.php">stephen</a> <span>age : </span> <span id="sex"></span> </div>
GET メソッド
$('a').click(function(e) { e.preventDefault();// var url = $(this).attr('href'), name = $(this).text(), requestData = {'name': name}; $.get(url, requestData, function(data) { $('#sex').html(data); }); });
POST メソッド
$('a').click(function(e) { e.preventDefault();// var url = $(this).attr('href'), name = $(this).text(), requestData = {'name': name}; $.post(url, requestData, function(data) { $('#sex').html(data); }); });
ここでは実際にloadメソッドを使用してコードを簡素化できます:
$('a').click(function(e) { e.preventDefault(); var url = $(this).attr('href'), name = $(this).text(), requestData = {'name': name}; $('#sex').load(url, requestData); });
Ajax テクノロジーを使用してバックエンドからデータを取得するだけでなく、フォームを非同期で送信することもできます。例として次のとおりです。
<form action="validate.php"> username:<input id="username" name="username" type="text" /> password:<input id="password" name="password" type="text" /> <input value="submit" type="submit" /> </form>
if($_REQUEST['username'] == 'stephenlee' && $_REQUEST['password'] == '123456') { echo 'pass'; } else { echo 'fail'; }
$('form').submit(function(e) { e.preventDefault();// var url = $(this).attr('action'), username = $('input[name="username"]').val(), password = $('input[name="password"]').val(), requestData = {'username': username, 'password': password}; $.get(url, requestData, function(result) { alert(result); }); });