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 与服务器通信)相关推荐

  1. jQuery 实战读书笔记之第四章:使用特性、属性和数据

    使用属性 /* 每个元素都有一或多个特性,,这些特性的用途是给出相应元素或其内容的附加信息.(出自 JavaScript 高级程序设计) */ /* 特性是固有的 JavaScript 对象 属性指的 ...

  2. jQuery实战读书笔记(第五章)

    第五章 用动画和特效装扮页面 1. 显示和隐藏元素 1.1 可折叠的模块 $('div.caption img').click(function(){ var body$ = $(this).clos ...

  3. jQuery实战读书笔记(第一章至第四章)

    2019独角兽企业重金招聘Python工程师标准>>> 第一章 jQuery 基础 1. 包装器 jQuery对包装器(Wrapper)或包装集(wrapped set)进行操作,即 ...

  4. Go语言实战读书笔记

    2019独角兽企业重金招聘Python工程师标准>>> Go语言实战读书笔记 第二章 通道(channel).映射(map)和切片(slice)是引用类型.引用类型的对象需要使用ma ...

  5. Spring4实战读书笔记

    Spring4实战读书笔记 首先,我们需要明白,为什么我们需要引入Spring,也就是说Spring的好处.个人觉得主要是在于两方面解耦和对bean的管理. 第一部分:Spring核心 共分为四个章节 ...

  6. iPhone与iPad开发实战读书笔记

    iPhone开发一些读书笔记 手机应用分类 1.教育工具 2.生活工具 3.社交应用 4.定位工具 5.游戏 6.报纸和杂志的阅读器 7.移动办公应用 8.财经工具 9.手机购物应用 10.风景区相关 ...

  7. 机器学习实战---读书笔记: 第11章 使用Apriori算法进行关联分析---2---从频繁项集中挖掘关联规则

    #!/usr/bin/env python # encoding: utf-8''' <<机器学习实战>> 读书笔记 第11章 使用Apriori算法进行关联分析---从频繁项 ...

  8. Apache Kafka实战读书笔记(推荐指数:☆☆☆☆☆)

    Apache Kafka实战读书笔记(推荐指数:☆☆☆☆☆) 认识AK 快速入门 安装和启动 小案例 消息引擎系统 消息引擎范型 AK的概要设计 吞吐量/延时 消息持久化 负载均衡和故障转移: 伸缩性 ...

  9. 锋利的Jquery【读书笔记】 -- 第四章 jQuery中的事件和动画

    锋利的Jquery读书笔记 第三章 jQuery中的DOM操作 jQuery中的事件 事件绑定 bind方法 合成事件 hover方法 toggle方法 事件冒泡 事件对象 停止事件冒泡 阻止默认行为 ...

最新文章

  1. CAN总线简明易懂教程(三)
  2. CSS 选择器参考手册
  3. 【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
  4. 记一次曲折的后台getshell过程
  5. AntD 可编辑行表格
  6. 夜视模式,多少猥琐相机假汝之名
  7. c语言 typedef_C Typedef-能力倾向问题与解答
  8. java cxf 调用wcf接口_JAVA 调用 WCF 服务流程
  9. jQuery Portamento 滑动定位
  10. 如何导出共享文件夹的权限或转移
  11. 微软发布Visual Studio 2010 SP1公测版
  12. java 文件删除不了
  13. MASM6.11安装
  14. UE4 骨骼重定向记录
  15. 【系统安全学习5】PGP加密
  16. 写论文的公式怎么写最便捷?
  17. 设计一个重量转换程序 python
  18. 听李天飞《大话西游》有感
  19. 电信行业大数据(大数据平台系列)
  20. 计算机开始按钮的功能,Windows7系统开始菜单有哪些新增的功能

热门文章

  1. [leetcode] 300. Longest Increasing Subsequence (Medium)
  2. 字节流转字符流OutputStreamWriter、InputStreamReader,关闭流的方法
  3. 二维高斯滤波器(gauss filter)的实现
  4. 15-07-06 定闹钟
  5. 理解SQL SERVER中的分区表(转)
  6. sql分割函数|在网上找的看着挺好,谁的忘了
  7. SharePoint 上传附件
  8. C++提高部分_C++类模板与继承---C++语言工作笔记091
  9. 持续集成部署Jenkins工作笔记0003---Web工程部署方式说明
  10. C/C++网络编程工作笔记0003---客户服务端程序说明