jQuery中对AJAX操作的封装函数

jQuery提供了6个简化AJAX操作的函数,每个都可以代替元素AJAX中的四步代码!

(1)$(‘xxx‘).load()         jQuery对象函数

(2)$.get()                   jQuery全局函数

(3)$.post()                 jQuery全局函数

(4)$.getScript()          jQuery全局函数

(5)$.getJSON()           jQuery全局函数

(6)$.ajax()              jQuery全局函数

1.jQuery中对AJAX操作的封装函数之一——load

 用法:

$(‘选择器‘).load( ‘x.php‘ ,[data], [fn] )

 作用:

使用XHR发起异步的请求,获取服务器端返回的html片段,把xhr.responseText设置为当前选定元素的innerHTML。响应成功完成后,会自动调用第三个回调函数。

不足:服务器返回必须是HTML片段!响应内容会替换掉当前选定元素中已有的内容!

演示:异步加载全站的页头和页尾

$(function(){
$(‘div#header‘).load(‘header.php‘);
$(‘div#footer‘).load(‘footer.php‘);
})

2.jQuery中对AJAX操作的封装函数之二——$.get

 用法:

$.get( ‘x.php‘ ,[data], function(txt, msg, xhr){  } )

$.get( ‘x.php‘ ,‘uname=tom&age=20‘, function(txt, msg, xhr){  } )

$.get( ‘x.php‘ ,{uname:‘tom‘, age:20} , function(txt, msg, xhr){  } )

 作用:

创建XHR发起异步的GET请求,第二个参数是可选的请求数据(键值对形式或者对象形式),获取服务器端的响应消息,调用第三个回调函数(相当于之前成功异步请求,并对请求进行的的doResponse),在此回调函数中对响应主体进行处理。

练习:页面加载完成后,异步请求表格中的批量数据

(1)编写SQL:数据库-mymovie,表-movie

(2)编写PHP:movie_select_all.php,以JSON格式向客户端返回所有的电影记录 ‘[{},{},{}]‘

(3)编写HTML:movie_select_all.html,当页面加载完后,异步请求所有的电影记录,拼接在TABLE中    $.get(‘x.php‘, doResponse)

jQuery中对AJAX操作的封装函数之三——$.post

 用法:

$.post( ‘x.php‘ ,data, function(txt, msg, xhr){  } )

$.post( ‘x.php‘ ,‘uname=tom&age=20‘, function(txt, msg, xhr){  } )

$.post( ‘x.php‘ ,{uname:‘tom‘, age:20} , function(txt, msg, xhr){  } )

 作用:

创建XHR发起异步的POST请求,第二个参数是必需的请求数据(键值对形式或者对象形式),获取服务器端的响应消息,调用第三个回调函数(相当于之前的doResponse),在此回调函数中对响应主体进行处理。

练习:电影数据加载完成后,当用户点击某个电影的“删除”,异步提交要删除的影片编号,实现删除功能

步骤:

(1)编写SQL

(2)编写PHP:movie_delete.php,接收客户端提交的mid,执行删除,从数据中删除该电影,返回‘{"msg":"succ","affectedRows":1}‘ 或 ‘{"msg":"err", "sql":"DELETE...."}‘

提示:PHP中的关联数组会被json_encode()编码为JSON对象

(3)修改影片列表页,点击某个“删除”,异步提交要删除的影片编号,实现影片删除

提示:为DOM树上后添加的元素绑定事件监听必须用“事件代理”

4.jQuery中对AJAX操作的封装函数之四——$.getScript

 用法:

$.getScript( ‘x.php‘ ,[data], [fn])

 作用:

创建XHR发起异步的GET请求,第二个参数是可选的请求数据(键值对形式或者对象形式),第三个参数,回调函数可选的,表示响应成功之后的回调。要求服务器端返回的必须是application/javascript类型的响应,该方法会自动调用eval(xhr.responseText)进行执行。

5. jQuery中对AJAX操作的封装函数之五——$.getJSON

 用法:

$.getJSON( ‘x.php‘ ,[data],function(result, msg, xhr){  })

 作用:

创建XHR发起异步的GET请求。要求服务器端返回的必须是application/json类型的响应,该方法会自动调用JSON.parse(xhr.responseText)进行解析,再调用第三个参数——响应成功的回调函数处理响应结果。


$.getJSON()不论响应消息内容类型声明什么,都会调用JSON.parse(xhr.responseText)


$.get()只有当响应消息内容类型声明为application/json,才会调用JSON.parse(xhr.responseText)

演示:页面加载完成后,异步请求服务器端的实现了国际化的欢迎消息(i18n)


$.getScript()不论响应消息内容类型声明什么,都会调用eval(xhr.responseText)


$.get()只有当响应消息内容类型声明为application/javascript,才会调用eval(xhr.responseText)

jQuery中对AJAX操作的封装函数之五——$.ajax —— 重点!

 用法:

$.ajax( {

type: ‘GET‘,            //POST/PUT/DELETE/HEAD

url: ‘x.php‘,

data: ‘k=v‘或{k:v}    //要提交的请求数据

beforeSend: fn,      //请求发送之前的回调函数

success: fn,            //响应成功的回调函数

error: fn,               //响应失败的回调函数

complete: fn          //响应完成的回调函数-不论成败

} )


var xhr = new XMLHttpRequest()

xhr.onreadystatechange = function(){

if(xhr.readyState===4){

if(xhr.status===200){

success();

}else {

error();

}

complete();

}

}

xhr.open(‘GET‘,‘x.php?k=v‘, true)

beforeSend();

xhr.send(null);


响应成功回调顺序:  beforeSend  =>  success =>  complete


响应失败回调顺序:  beforeSend  =>  error =>  complete

 作用:

       此函数是jQuery中万能的AJAX调用函数!前面5个方法都是该方法的简化版本。

创建XHR发起异步的GET请求。要求服务器端返回的必须是application/json类型的响应,该方法会自动调用JSON.parse(xhr.responseText)进行解析,再调用第三个参数——响应成功的回调函数处理响应结果。

时间: 2024-12-24 23:24:02

jQuery中对AJAX操作的封装函数的相关文章

分析一下jquery中的ajax操作

在web前端开发中,ajax是很重要的一项技术,用原生写起来很是麻烦,需要一大堆js代码,而到了jq里就被精简了许多,一起来看看: jquery中的ajax分为三种方式: 1.$.get(),get方式获取 例子: $('.btn').click({ $.get('1.txt',function(data){ //'1.txt'为服务器上的文档,data为获取到的数据 alert(data); }); }) 2.$.post(),post方式获取 例子: $('.btn').click({ $.

对jquery中的$.ajax二次封装 从而多次调用 今天一整天都在想这个事情

当然了  我封装的是$.ajax  可以传参数  多次调用请求接口  为啥我们这地方不注重前端呢  我都不知道为啥去坚持 不说了  上代码 js文件 $ajax.js $(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"username": "张三", "password": 123456} * succCallback 成功回调函数 * errorCallback

深入理解ajax系列第九篇——jQuery中的ajax

前面的话 jQuery提供了一些日常开发中需要的快捷操作,例如load.ajax.get和post等,使用jQuery开发ajax将变得极其简单.这样开发人员就可以将程序开发集中在业务和用户体验上,而不需要理会那么繁琐的XMLHTTPRequest对象.jQuery对ajax操作进行了封装,在jQuery中$.ajax()属性最底层的方法,第2层是load().$.get()和$.post()方法,第3层是$.getScript()和$.getJSON()方法.下面将详细介绍jQuery中的aj

在jquery中使用AJAX

在jquery中使用封装好的AJAX会对开发效率起到极大的便利,因此掌握jquery中的一系列AJAX封装函数是做好页面数据交互的必备技能: 1.在之前,我们首先需要详细了解AJAX异步请求接受的五中响应消息,根据不同的响应类型进行不同的操作 (1)text/plain    // 明文 服务器端: header('Content-Type: text/plain'); echo 'succ'; 客户端: if(xhr.responseText==='succ'){ ... } (2)text/

深入理解jQuery中的ajax

前面的话 jQuery提供了一些日常开发中需要的快捷操作,例如load.ajax.get和post等,使用jQuery开发ajax将变得极其简单.这样开发人员就可以将程序开发集中在业务和用户体验上,而不需要理会那么繁琐的XMLHTTPRequest对象.jQuery对ajax操作进行了封装,在jQuery中$.ajax()属性最底层的方法,第2层是load().$.get()和$.post()方法,第3层是$.getScript()和$.getJSON()方法.下面将详细介绍jQuery中的aj

jQuery中的Ajax学习笔记

前段时间学习了<锋利的jQuery第六章>jQuery与Ajax应用,现做如下笔记: 我们先来了解一下,什么是Ajax呢?Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体.简短地说,在不重载整个页面的情况下,Ajax通过后台加载数据,并在网页上进行显示. 我们来简要回顾一下Ajax.早在1998年,微软就引入了一个ActiveX控件,从而能

jquery中的ajax参数

jquery中将ajax封装成了函数,我们使用起来非常方便,jquery会自动根据内容选择post还是get方式提交数据,并且会自动编码,但是要想完全掌握jquery中的ajax,我们必须将它的各个参数记住: 1.url    strng   发送请求的地址 2.type  string   请求方式(post或get,默认get),其他http请求方法,比如:put和delete也可以使用,但只有部分浏览器支持. 3.timeout   number    设置请求超时时间(毫秒).此设置将覆

从零开始学习jQuery (六) jquery中的AJAX使用

本篇文章讲解如何使用jQuery方便快捷的实现Ajax功能.统一所有开发人员使用Ajax的方式. 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现Ajax功能.统一所有开发人员使用Ajax的方式. 二.前言 Ajax让用户页面丰富起来, 增强了用户体验. 使用Ajax是所有Web开发的必修课. 虽然Ajax技术并不复杂, 但是实现方式还是会因为每个

jQuery入门(4)jQuery中的Ajax应用

jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax应用 一.原始Ajax与jQuery中的Ajax 首先通过实例, 来看一下jQuery实现Ajax有多简单. 下面是一个使用原始Ajax的示例: 01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "