前の記事では、<a href="http://www.php.cn/wiki/1495.html" target="_blank">jquery</a> Ajax のデータ読み込みについて紹介しました。 code> サンプルはすべて <a href="http://www.php.cn/wiki/188.html" target="_blank">静的</a> ファイルからデータを取得しますが、<code>Ajax code> より大きな価値は、動的にデータを要求して送信するバックエンド サーバーとのデータ転送にあります。 <code><a href="http://www.php.cn/wiki/1495.html" target="_blank">jquery</a> Ajax
的数据加载中的例子都是从静态的文件中取得数据,而 Ajax
更大的价值在于与后端服务器进行数据传递,动态地请求和发送数据。
我们可以使用 GET、POST
两种方式向后端请求数据,这里以 PHP
为例,假设有测试页面 age.php
,用于返回年龄信息,内容为:
if(isset($_REQUEST['name']) && $_REQUEST['name'] == 'stephen') { echo '23'; }
当前页面内容为:
<p> <a href="age.php">stephen</a> <span>age : </span> <span id="sex"></span> </p>
我们希望点击 a
标签后,在不刷新页面的前提下获取年龄信息。首先用 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); }); });
点击 a
标签后,当前页面为:
数据请求成功。我们再用 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
GET と POST
を使用してバックエンドからデータをリクエストできます。ここでは、PHP
があると仮定して、例として取り上げます。テスト ページ age.php
は、年齢情報を返すために使用されます。コンテンツは次のとおりです: 🎜rrreee🎜 現在のページのコンテンツは次のとおりです: 🎜rrreee🎜🎜🎜a
タグをクリックした後、 、ページが更新されない前提で年齢情報を取得します。まず、GET
メソッドを使用してデータをリクエストします: 🎜a
タグをクリックすると、現在のページは次のようになります: 🎜🎜🎜🎜データリクエスト成功。 POST
メソッドを使用して再度テストしてみましょう: 🎜get
メソッドが post code> メソッド。 load
メソッドを使用してコードを簡素化できます: 🎜rrreeeAjax
テクノロジーの使用に加えてバックエンドからデータを取得する 一般的なシナリオは、フォームを非同期的に送信することです: 🎜rrreee🎜🎜🎜ユーザー名が stephenlee
であるとします。パスワードが 123456
の場合、検証は成功します。それ以外の場合、テスト ページ validate.php
は次のようになります。 🎜rrreee🎜 get
メソッドを使用して、検証のためにバックエンドにデータを送信します: 🎜rrreee🎜入力エラー ユーザー名が lucas
の場合、結果は次のようになります: 🎜🎜🎜🎜正しいユーザー名 stephenlee
を入力すると、結果は次のようになります。 : 🎜🎜🎜🎜データを送信するには、post
メソッドを使用します。考え方は同じなので、詳細は説明しません。 🎜以上がjQuery Ajax動作の解析(2) データ転送の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。