ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery学習メモ - Ajaxの操作(2) - データ転送_jquery

jQuery学習メモ - Ajaxの操作(2) - データ転送_jquery

WBOY
リリース: 2016-05-16 16:43:28
オリジナル
1209 人が閲覧しました

データのリクエスト

バックエンドからデータをリクエストするために 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>
ログイン後にコピー

aタグをクリックした後、ページを更新せずに年齢情報を取得したいと考えています。最初に GET メソッドを使用してデータをリクエストします:

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 メソッドを使用してもう一度テストしてみましょう:

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);
  });
 });
ログイン後にコピー
get メソッドが post メソッドに変更されたことを除いて、コードはほぼ同じです。

ここでは実際に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>
ログイン後にコピー

ユーザー名が stephenlee でパスワードが 123456 の場合は検証が成功すると仮定します。それ以外の場合、テスト ページ validate.php は次のようになります。

if($_REQUEST['username'] == 'stephenlee' && $_REQUEST['password'] == '123456') {
  echo 'pass';
} else {
  echo 'fail';
}
ログイン後にコピー
get メソッドを使用して、検証のためにデータをバックエンドに送信します:

 $('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);
  });
 });
ログイン後にコピー
間違ったユーザー名 lucas を入力すると、結果は次のようになります:

正しいユーザー名 stephenlee を入力すると、結果は次のようになります:

post メソッドを使用してデータを送信するという考え方は同じなので、ここでは詳しく説明しません。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート