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 中的 &amp;&amp; 和 || 使用小结
Apr 25 Javascript
jquery 图片上传按比例预览插件集合
May 28 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
Sep 29 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
js简单设置与使用cookie的方法
Jan 22 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
微信小程序 绘图之饼图实现
Oct 24 Javascript
微信小程序 122100版本更新问题解决方案
Dec 22 Javascript
Vue+Express实现登录注销功能的实例代码
May 05 Javascript
微信小程序云开发 搭建一个管理小程序
May 17 Javascript
node.js实现带进度条的多文件上传
Mar 27 Javascript
JS使用正则表达式判断输入框失去焦点事件
Oct 16 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日历程序
2006/12/06 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
window.open打开页面居中显示的示例代码
2013/12/27 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
js实现秒表计时器
2019/12/16 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
python中元类用法实例
2014/10/10 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
python实现车牌识别的示例代码
2019/08/05 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
JSF的标签库有哪些
2012/04/27 面试题
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
保安拾金不昧表扬信
2014/01/15 职场文书
简历里的自我评价范文
2014/02/24 职场文书
房屋转让协议书
2014/10/18 职场文书
女儿满月酒致辞
2015/07/29 职场文书
Golang获取List列表元素的四种方式
2022/04/20 Golang
python三子棋游戏
2022/05/04 Python