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 相关文章推荐
jQuery 渐变下拉菜单
Dec 15 Javascript
JavaScript 数组运用实现代码
Apr 13 Javascript
javascript跨浏览器的属性判断方法
Mar 16 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
Jun 09 Javascript
JavaScript通过事件代理高亮显示表格行的方法
May 27 Javascript
jquery ajax分页插件的简单实现
Jan 27 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
Oct 20 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
Oct 30 Javascript
微信小程序时间戳转日期的详解
Apr 30 Javascript
vue安装遇到的5个报错及解决方法
Jun 12 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
vue中echarts引入中国地图的案例
Jul 28 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 download.php实现代码 跳转到下载文件(response.redirect)
2009/08/26 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
php实现等比例压缩图片
2018/07/26 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
node中的session的具体使用
2018/09/14 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
Python采用raw_input读取输入值的方法
2014/08/18 Python
九步学会Python装饰器
2015/05/09 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
浅谈function(函数)中的动态参数
2017/04/30 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
python交互界面的退出方法
2019/02/16 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
英国最大的纸工艺品商店:CraftStash
2018/12/01 全球购物
STP的判定过程
2012/10/01 面试题
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
门店业绩提升方案
2014/06/08 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
模范教师事迹材料
2014/12/16 职场文书
退休教师追悼词
2015/06/23 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang