jQuery学习笔记之 Ajax操作篇(二) - 数据传递

前端技术 2023/09/08 JavaScript

请求数据

我们可以使用 GET、POST 两种方式向后端请求数据,这里以 PHP 为例,假设有测试页面 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);
  });
 });

点击 a 标签后,当前页面为:

数据请求成功。我们再用 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 方式发送数据思路相同,就不再赘述了。

本文地址:https://www.stayed.cn/item/20790

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。