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 相关文章推荐
javascript 学习之旅 (1)
Feb 05 Javascript
全面理解面向对象的 JavaScript(来自ibm)
Nov 10 Javascript
jquery中获得元素尺寸和坐标的方法整理
May 18 Javascript
js实现鼠标点击文本框自动选中内容的方法
Aug 20 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
很棒的js选项卡切换效果
Jul 15 Javascript
深入理解js generator数据类型
Aug 16 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
Dec 26 Javascript
jQuery导航条固定定位效果实例代码
May 26 jQuery
JS实现监控微信小程序的原理
Jun 15 Javascript
Vuex 单状态库与多模块状态库详解
Dec 11 Javascript
webpack的移动端适配方案小结
Jul 25 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
php5 图片验证码实现代码
2009/12/11 PHP
php存储过程调用实例代码
2013/02/03 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
php源码之将图片转化为data/base64数据流实例详解
2016/11/27 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
javascript引用对象的方法
2007/01/11 Javascript
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
JavaScript的变量作用域深入理解
2009/10/25 Javascript
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
javascript实现时钟动画
2020/12/03 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
Python urls.py的三种配置写法实例详解
2017/04/28 Python
django主动抛出403异常的方法详解
2019/01/04 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
python 模拟登陆github的示例
2020/12/04 Python
使用CSS3制作一个简单的Chrome模拟器
2015/07/15 HTML / CSS
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
店面销售职位的职责
2014/03/09 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
2015年试用期工作总结
2014/12/12 职场文书
家长通知书家长意见
2015/06/03 职场文书
利用Redis实现点赞功能的示例代码
2022/06/28 Redis