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的IE和Firefox兼容性汇编(zz)
Feb 02 Javascript
jquery 表单下所有元素的隐藏
Jul 25 Javascript
使用focus方法让光标默认停留在INPUT框
Jul 29 Javascript
jquery 设置style:display的方法
Jan 29 Javascript
jQuery通过扩展实现抖动效果的方法
Mar 11 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
Aug 13 Javascript
简单的分页代码js实现
May 17 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
Nov 22 Javascript
简单两步使用node发送qq邮件的方法
Mar 01 Javascript
Vue编程式跳转的实例代码详解
Jul 10 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-fpm配置详解
2014/02/12 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
php扩展开发入门demo示例
2019/09/23 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
jquery isType() 类型判断代码
2011/02/14 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
浅析JavaScript动画
2015/06/10 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
2018/06/10 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
Python getopt模块处理命令行选项实例
2014/05/13 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
PyCharm代码格式调整方法
2018/05/23 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
Pytoch之torchvision.transforms图像变换实例
2019/12/30 Python
python 简单的调用有道翻译
2020/11/25 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
大专生工程监理求职信
2013/10/04 职场文书
生物科学专业个人求职信范文
2013/12/07 职场文书
大学生涯自我鉴定
2014/01/16 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
学校捐书活动总结
2015/05/08 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS