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 相关文章推荐
写的htc的数据表格
Jan 20 Javascript
jquery 插件学习(三)
Aug 06 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
Mar 18 Javascript
使用jquery组件qrcode生成二维码及应用指南
Feb 22 Javascript
详解Javacript和AngularJS中的Promises
Feb 09 Javascript
基于javascript制作微信聊天面板
Aug 09 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
原生javascript实现文件异步上传的实例讲解
Oct 26 Javascript
利用不到200行代码写一款属于你自己的js类库
Jul 08 Javascript
VueCli4项目配置反向代理proxy的方法步骤
May 17 Javascript
react 生命周期实例分析
May 18 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 Vue.js
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
Sony CFR 320 修复改造
2020/03/14 无线电
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
php 文章调用类代码
2011/08/11 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
javascript 获取图片颜色
2009/04/05 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
2016/12/14 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
使用AngularJS2中的指令实现按钮的切换效果
2017/03/27 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
linux系统使用python监控apache服务器进程脚本分享
2014/01/15 Python
python Django批量导入数据
2016/03/25 Python
Python脚本实现虾米网签到功能
2016/04/12 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
学Python 3的理由和必要性
2019/11/19 Python
python实现UDP协议下的文件传输
2020/03/20 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
办公室保洁员岗位职责
2013/12/02 职场文书
在校学生职业规划范文
2014/01/08 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
2015年新学期寄语
2015/02/26 职场文书
男人帮观后感
2015/06/18 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
创业计划书之酒厂
2019/10/14 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP