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


Posted in Javascript onJune 23, 2014

请求数据

我们可以使用 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>

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

我们希望点击 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 标签后,当前页面为:

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

数据请求成功。我们再用 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>

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

假设当用户名为 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 后,结果为:

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

输入正确用户名 stephenlee 后,结果为:

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

使用 post 方式发送数据思路相同,就不再赘述了。

Javascript 相关文章推荐
非常漂亮的JS代码经典广告
Oct 21 Javascript
jQuery 全选效果实现代码
Mar 23 Javascript
js的一些常用方法小结
Jun 29 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
Jan 10 Javascript
javascript页面加载完执行事件代码
Feb 11 Javascript
JavaScript动态提示输入框输入字数的方法
Jul 27 Javascript
jquery实现全屏滚动
Dec 28 Javascript
angularJS 如何读写缓冲的方法(推荐)
Aug 06 Javascript
jQuery点击头像上传并预览图片
Feb 23 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
May 11 Javascript
简述jQuery Easyui一些用法
Aug 01 jQuery
深入浅出es6模板字符串
Aug 26 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
Jun 23 #Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
Jun 23 #Javascript
yepnope.js使用详解及示例分享
Jun 23 #Javascript
js的延迟执行问题分析
Jun 23 #Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
Jun 23 #Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
Jun 23 #Javascript
js自定义鼠标右键的实现原理及源码
Jun 23 #Javascript
You might like
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
遭遇php的in_array低性能问题
2013/09/17 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
实例分析10个PHP常见安全问题
2019/07/09 PHP
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
2015/03/18 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
javascript给span标签赋值的方法
2015/11/26 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
vue把输入框的内容添加到页面的实例讲解
2019/11/11 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
js实现滑动滑块验证登录
2020/07/24 Javascript
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
python文件和目录操作方法大全(含实例)
2014/03/12 Python
python实现保存网页到本地示例
2014/03/16 Python
Python中zip()函数用法实例教程
2014/07/31 Python
Django model反向关联名称的方法
2018/12/15 Python
Python @property使用方法解析
2019/09/17 Python
JS原生实现轮播图的几种方法
2021/03/23 Javascript
研修心得体会
2014/09/04 职场文书
企业总经理助理岗位职责
2014/09/12 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
同事欢送会致辞
2015/07/31 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server
vue中data里面的数据相互使用方式
2022/06/05 Vue.js