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里的条件判断
Feb 27 Javascript
一些常用的JS功能函数(2009-06-04更新)
Jun 04 Javascript
JQuery Highcharts 动态生成图表的方法
Nov 15 Javascript
js中array的sort()方法使用介绍
Feb 20 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
Mar 10 Javascript
jQuery基于扩展简单实现倒计时功能的方法
May 14 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
Jun 13 Javascript
浅谈Postman解决token传参的问题
Mar 31 Javascript
详解VUE项目中安装和使用vant组件
Apr 28 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
Jul 19 Javascript
javascript中的闭包概念与用法实践分析
Jul 26 Javascript
Vue如何基于es6导入外部js文件
May 15 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 中引入的 MYSQLI的用途
2007/03/19 PHP
PHP中文编码小技巧
2014/12/25 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
详解PHP中的Traits
2015/07/29 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
2015/01/13 Javascript
javascript给span标签赋值的方法
2015/11/26 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
浅谈React高阶组件
2018/03/28 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
python中property属性的介绍及其应用详解
2019/08/29 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
外贸业务员求职自荐信分享
2013/09/21 职场文书
早读迟到检讨书
2014/01/24 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
旅游文化节策划方案
2014/06/06 职场文书
党建工作整改措施
2014/10/28 职场文书
婚育证明格式
2015/06/17 职场文书
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL