jQuery-ajax

Ajax:

1、load()方法:

//无参数传递,则是get方式:

$("#resText").load("test.php" , function(){

});

//有参数传递,则是post方式

$("#resText").load("test.php" , {name:"rain" , age:"22"},function(){

});

Eg:

$(function(){

$("#send").click(function(){

$("#resText").load("test.html");

});

});

当只需要test.html中的某一项的时候,只需要将url改写成load("test.html  .para");

在load方法中,对于必须在加载完成后才能继续的操作,load提供了回调函数,包含3个参数,分别代表请求返回的内容,请求状态,XMLHttpRequest对象

$("#resText").load("test.html" ,

function(responseText , textStatus ,XMLHttpRequest){

})

在load方法中,无论Ajax请求是否成功,只要请求完成后就会触发回调函数


参数


类型


说明


url


String


请求HTML页面的url


Data(可选)


Object


发送至服务器的key/value数据


Callback(可选)


Function


请求完成时的回调函数,无论请求是否成功

2、$.get()


参数


类型


说明


url


String


请求HTML页面的url


Data(可选)


Object


发送至服务器的key/value数据


Callback(可选)


Function


请求完成时的回调函数,无论请求是否成功


Type


String


服务器返回内容的格式,包括json,xml,html,script,text,_default

$.get()的回调函数有2个参数

function(data , textStatus){

//data:   返回的内容

//textStatus:   请求状态:success,error,notmodified,timeout

}

只有在数据成功返回success后才能被调用回调函数

3、$.get()的返回数据格式:

HTML片段:

function(data , textStatus){

$("#resText").html(data); //返回的内容添加到页面上

}

Xml文档:

function(data , textStatus){

var username = $(data).find("comment").attr("username");

var content = $(data).find("comment content").text();

var textHtml = "<div class="comment"><h6>"

+ username + ":</h6><p class="para">"

+ content + "</p></div>"

$("#resText").html(data); //返回的内容添加到页面上

}

Json:

function(data , textStatus){

var username = data.username;

var content = data.content;

var textHtml = "<div class="comment"><h6>"

+ username + ":</h6><p class="para">"

+ content + "</p></div>"

$("#resText").html(data); //返回的内容添加到页面上

}在后面添加第四个参数,"json"

4、jQuery提供了一个$.getScript()方法直接加载js文件

$(function(){

//在加载js文件后直接执行回调函数

$.getScript(‘test.html‘ , function(){

$("#go").click(function(){

$(".block").animate({backgroundColor : ‘pink‘},1000)

})

})

})

5、$.getJSON()方法用来加载JSON文件

$(function(){

$(‘send‘).click(function(){

$.getJSON("test.json");

})

})

//单击加载后是在网页上看不到任何效果的,需要一个回调函数,处理返回的数据

$(function(){

$(‘send‘).click(function(){

$.getJSON("test.json" , function(data){

//data  返回的数据

});

})

})

6、jQuery提供一个通用的遍历方法:$.each(),用于遍历数组以及对象

7、$.each()函数不同于jQuery对象的each()方法,它是一个全局变量,不操作jQuery对象,而是以一个数值或者对象i第一个参数,以一个回调函数作为第二个参数,回调函数拥有两个参数,第一个为对象成员或者数组的索引,第二个为对应的变量或者内容

$.each()函数中,要退出each循环只要false即可

$(function(){

$(‘send‘).click(function(){

$.getJSON("test.json" , function(data){

$(‘#resText‘).empty();

var html = " ";

$.each(data , function(commentIndex , comment){

html += ‘<div class="comment"><h6>‘

+ comment[‘username‘] + ‘:</h6><p class="para">‘

+ comment[‘content‘] + ‘</p></div>‘

});

$(‘#resText‘).html(html);

});

})

})

8、$.ajax()方法是jQuery最底层的方法,上述的所有方法都可以使用该方法代替

代替$.getSON()方法:

$(function(){

$(‘#send‘).click(function(){

$.ajax({

type : "GET",

url : "test.json",

dataType : "json",

success : function(data){

$(‘#resText‘).empty();

var html = " ";

$.each(data , function(commentIndex , comment){

html += ‘<div class="comment"><h6>‘

+ comment[‘username‘] + ‘:</h6><p class="para">‘

+ comment[‘content‘] + ‘</p></div>‘

});

$(‘#resText‘).html(html);

}

})

})

})

9、序列化元素:serialize()方法,作用于一个jQuery对象,将DOM内容序列化为字符串

<form id="form1" action="#">

</form>

//使用$.get()

$("#send").click(function(){

$.get("get1.php" , {

username : $("#username").val(),

content : $("#content").val()

} , function(data ,textStatus){

$("#resText").html(data);

})

})

//序列化

$("#send").click(function(){

$.get("get1.php" , $("#form1").serialize() , function(){

$("#resText").html(data);

})

})

当复选框以及单选框序列化为字符串的时候,只会对选中的值序列化

10、serializeArray(),不是返回字符串,而是将DOM元素序列化后,返回JSON格式的数据,也就是一个对象,可以使用each函数迭代输出

11、$.param()方法:是serialize()函数的核心,用来对一个数值或者对象按照key/value进行序列化

Eg:将一个普通的对象序列化

var obj={a:1,b:2,c:3};

var k=$.param(obj);

alert(k);//输出a=1&b=2&c=3

12、想某个Ajax请求不受全局方法的影响,可以在$.ajax()方法中,将参数global设置为false

Ajax全局事件:


方法


说明


ajaxStart(callback)


Ajax请求开始时执行的函数


ajaxEnd(callback)


Ajax请求结束时执行的函数


ajaxComplete(callback)


Ajax请求完成时执行的函数


ajaxError(callback)


Ajax请求发生错误时


ajaxSend(callback)


Ajax请求发送时


ajaxSuccess(callback)


Ajax请求成功时

时间: 2024-08-07 20:56:02

jQuery-ajax的相关文章

jquery ajax 方法及各参数详解

jquery ajax 方法及各参数详解 1.$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息. 参数列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type String (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET".注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分

Django1.7+JQuery+Ajax集成小例子

Ajax的出现让Web展现了更新的活力,基本所有的语言,都动态支持Ajax与起服务端进行通信,并在页面实现无刷新动态交互. 下面是散仙使用Django+Jquery+Ajax的方式来模拟实现了一个验证用户注册时,用户名存在不存在的一个小应用.注意,验证存在不存在使用的是Ajax的方式,不用让用户点击按钮验证是否存在. 截图如下: 页面HTML代码如下: <!DOCTYPE html> <html> <head lang="en"> <meta

JQuery ajax 在aspx中传值和取值

传值:ajax中的data(json)  js代码: <script type="text/javascript"> $(function () { $("#btnAddNews").bind("click", function () { var _name= $.trim($("#txtNewTitle").val()); $.ajax({ type: "POST", url: "A

jquery ajax跨域的完美解决方法(jsonp方式)

ajax跨域请求的问题,JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式,接下来为大家详细介绍下客户端JQuery.ajax的调用代码 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式.分别是JQuery的 jquery.ajax jsonp格式和jquer

jQuery Ajax 全解析

jQuery Ajax 全解析 本文地址: jQuery Ajax 全解析 本文作者:QLeelulu 转载请标明出处! jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到). 1. load( url, [d

jQuery Ajax -附示例

jQuery其实就是一个JavaScript的类库,其将复杂的功能做了上层封装,使得开发者可以在其基础上写更少的代码实现更多的功能. jQuery 不是生产者,而是大自然搬运工. jQuery Ajax本质 XMLHttpRequest 或 ActiveXObject 注:2.+版本不再支持IE9以下的浏览器 时机: 如果发送的是[普通数据] -> jQuery,XMLHttpRequest,iframe 如果发送的是[文件] -> iframe,jQuery(FormData对象),XMLH

jQuery - AJAX (来源于W3C)

jQuery - AJAX 简介 AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新. 什么是 AJAX? AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML). 简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示. 使用 AJAX 的应用程序案例:谷歌地图.腾讯微博.优酷视频.人人网等等. 关于 jQuery 与 AJAX jQuery 提供多个与 AJAX 有

jQuery.ajax(url,[settings])

概述 通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性. 最简单的情况下,$.ajax()可以不带任何参数直接使用. 注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置. 回调函数 如果要处理$.ajax()得到的数据,则需要使用回调函数.beforeSen

20150304+JQuery+AJax+插件-01

The Write Less,Do More--jQuery下 目录 The Write Less,Do More--jQuery下 1 一.each方法 2 二.jQuery中的ajax操作 3 1.ajax的底层实现 4 2.ajax的高级实现 7 1)模拟发送get请求 7 2)通过时间戳解决get请求缓存问题 8 3)模拟post请求 8 4)返回值类型 9 三.Ajax跨域请求--jsonp技术 11 1.Ajax跨域请求原理图 11 2.Ajax跨域请求不被允许的原因 11 3.js

jQuery AJAX 方法

jQuery AJAX 方法 AJAX 是一种与服务器交换数据的技术,可以在补充在整个页面的情况下更新网页的一部分. 下面的表格列出了所有的 jQuery AJAX 方法: 方法 描述 $.ajax() 执行异步 AJAX 请求 $.ajaxPrefilter() 在每个请求发送之前且被 $.ajax() 处理之前,处理自定义 Ajax 选项或修改已存在选项 $.ajaxSetup() 为将来的 AJAX 请求设置默认值 $.ajaxTransport() 创建处理 Ajax 数据实际传送的对象