jq实现ajax访问服务器,jQuery实战读书笔记(第八章 使用 Ajax 与服务器通信)
1. 加载内容到元素中
1.1 使用 jQuery 加载内容
load(url, parameters, callback)
url - 服务器端资源的URL
parameters - 作为请求参数传递的数据,可以是字符串(作为查询字符串),也可以是对象(属性会被序列化为正确编码的参数),或者对象组成的数组。如果是对象或数组,则使用POST请求,如果省略或者指定为字符串,则使用GET请求。
callback - 回调函数,传入的参数是响应文本、状态字符串(通常是 success)以及XHR实例,函数上下文是目标元素。
示例:
$('#someContainer').load('someResource');
$('.injectMe').load("/someResource div");
序列化表单数据:serialize() 返回格式化的查询字符串
serializeArray() 返回表单数据组成的数组
1.2 加载动态的 HTML 片段
$("#bootChooserControl").load("/jqia2/action/fetchBootStyleOptions");
$("#bootChooserControl").change(function(event){
$("#productDetailPane").load("/jqia2/action/fetchProductDetails",
{style: $(event.target).val()},
function(){$("[value='']", event.target).remove();}
);
});
2. 发起 GET 和 POST 请求
上面的示例,第2个load()实际上发送的是POST请求,这并不合理,可以改用另一个函数来发起 Ajax 请求。
2.1 使用 GET 获取数据
$.get(url, parameters, callback, type)
url - 服务器端资源的URL
parameters - (字符串|对象|数组)
callback - 可选的回调函数,在请求成功完成时调用。参数是响应主体和文本信息,以及XHR实例。
type - 指定如何解析响应主体,(可选)可以是:html、text、xml、json、script或jsonp。
示例:
$("#bootChooserControl").change(function(event){
$.get("/jqia2/action/fetchProductDetails",
{style: $(event.target).val()},
function(resposne){
$("#productDetailPane").html(response);
$("[value='']", event.target).remove();
} // fn
); // get
});
2.2 获取 JSON 数据
$.getJSON(url, parameters, callback)
2.3 发起 POST 请求
$.post(url, parameters, callback, type)
2.4 实现级联下拉列表
$('#bootChooserControl').load('/jqia2/action/fetchBootStyleOptions');
$('#bootChooserControl').change(function(event){
$('#productDetailPane').load('/jqia2/action/fetchProductDetails',
$(this).serialize()
);
$('#colorChooserControl').load('/jqia2/action/fetchColorOptions',
$(this).serialize(),
function(){
$(this).attr('disabled',false);
$('#sizeChooserControl').attr('disabled',true).html("");
}
);
});
$('#colorChooserControl').change(function(event){
$('#sizeChooserControl').load('/jqia2/action/fetchSizeOptions',
$('#bootChooserControl,#colorChooserControl').serialize(),
function(){
$(this).attr('disabled',false);
}
);
});
$('#selectionsPane').change(function(event){
$('[value=""]',event.target).remove();
});
3. 完全控制 Ajax 请求
3.1 发起带所有参数的Ajax请求
$.ajax(options)
3.2 设置请求默认值
$.ajaxSetup(options)
示例:
$.ajaxSetup({
type: 'POST',
timeout: 5000,
dataType: 'html'
});
3.3 处理 Ajax 事件
局部事件和全局事件。
局部事件由回调函数来处理,全局事件可以通过bind()创建事件处理器。全局事件会广播到DOM中的每个元素上。
事件名称
ajaxStart
beforeSend
ajaxSend
success
ajaxSuccess
error
ajaxError
complete
ajaxComplete
ajaxStop
除了使用bind(),还提供了快捷函数:
ajaxComplete(callback)
ajaxError(callback)
ajaxSend(callback)
ajaxStart(callback)
ajaxStop(callback)
ajaxSuccess(callback)
4. 整合所有知识
jq实现ajax访问服务器,jQuery实战读书笔记(第八章 使用 Ajax 与服务器通信)相关推荐
- jQuery 实战读书笔记之第四章:使用特性、属性和数据
使用属性 /* 每个元素都有一或多个特性,,这些特性的用途是给出相应元素或其内容的附加信息.(出自 JavaScript 高级程序设计) */ /* 特性是固有的 JavaScript 对象 属性指的 ...
- jQuery实战读书笔记(第五章)
第五章 用动画和特效装扮页面 1. 显示和隐藏元素 1.1 可折叠的模块 $('div.caption img').click(function(){ var body$ = $(this).clos ...
- jQuery实战读书笔记(第一章至第四章)
2019独角兽企业重金招聘Python工程师标准>>> 第一章 jQuery 基础 1. 包装器 jQuery对包装器(Wrapper)或包装集(wrapped set)进行操作,即 ...
- Go语言实战读书笔记
2019独角兽企业重金招聘Python工程师标准>>> Go语言实战读书笔记 第二章 通道(channel).映射(map)和切片(slice)是引用类型.引用类型的对象需要使用ma ...
- Spring4实战读书笔记
Spring4实战读书笔记 首先,我们需要明白,为什么我们需要引入Spring,也就是说Spring的好处.个人觉得主要是在于两方面解耦和对bean的管理. 第一部分:Spring核心 共分为四个章节 ...
- iPhone与iPad开发实战读书笔记
iPhone开发一些读书笔记 手机应用分类 1.教育工具 2.生活工具 3.社交应用 4.定位工具 5.游戏 6.报纸和杂志的阅读器 7.移动办公应用 8.财经工具 9.手机购物应用 10.风景区相关 ...
- 机器学习实战---读书笔记: 第11章 使用Apriori算法进行关联分析---2---从频繁项集中挖掘关联规则
#!/usr/bin/env python # encoding: utf-8''' <<机器学习实战>> 读书笔记 第11章 使用Apriori算法进行关联分析---从频繁项 ...
- Apache Kafka实战读书笔记(推荐指数:☆☆☆☆☆)
Apache Kafka实战读书笔记(推荐指数:☆☆☆☆☆) 认识AK 快速入门 安装和启动 小案例 消息引擎系统 消息引擎范型 AK的概要设计 吞吐量/延时 消息持久化 负载均衡和故障转移: 伸缩性 ...
- 锋利的Jquery【读书笔记】 -- 第四章 jQuery中的事件和动画
锋利的Jquery读书笔记 第三章 jQuery中的DOM操作 jQuery中的事件 事件绑定 bind方法 合成事件 hover方法 toggle方法 事件冒泡 事件对象 停止事件冒泡 阻止默认行为 ...
最新文章
- CAN总线简明易懂教程(三)
- CSS 选择器参考手册
- 【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
- 记一次曲折的后台getshell过程
- AntD 可编辑行表格
- 夜视模式,多少猥琐相机假汝之名
- c语言 typedef_C Typedef-能力倾向问题与解答
- java cxf 调用wcf接口_JAVA 调用 WCF 服务流程
- jQuery Portamento 滑动定位
- 如何导出共享文件夹的权限或转移
- 微软发布Visual Studio 2010 SP1公测版
- java 文件删除不了
- MASM6.11安装
- UE4 骨骼重定向记录
- 【系统安全学习5】PGP加密
- 写论文的公式怎么写最便捷?
- 设计一个重量转换程序 python
- 听李天飞《大话西游》有感
- 电信行业大数据(大数据平台系列)
- 计算机开始按钮的功能,Windows7系统开始菜单有哪些新增的功能
热门文章
- [leetcode] 300. Longest Increasing Subsequence (Medium)
- 字节流转字符流OutputStreamWriter、InputStreamReader,关闭流的方法
- 二维高斯滤波器(gauss filter)的实现
- 15-07-06 定闹钟
- 理解SQL SERVER中的分区表(转)
- sql分割函数|在网上找的看着挺好,谁的忘了
- SharePoint 上传附件
- C++提高部分_C++类模板与继承---C++语言工作笔记091
- 持续集成部署Jenkins工作笔记0003---Web工程部署方式说明
- C/C++网络编程工作笔记0003---客户服务端程序说明