jQuery Ajax 操作函数

合集下载

jquery $.ajax 同步调用 实现原理

jquery $.ajax 同步调用 实现原理

jquery $.ajax 同步调用实现原理jQuery .ajax 同步调用实现原理在前端开发中,经常会涉及到使用Ajax进行异步请求。

而jQuery库中的.ajax()方法是非常常用的一种实现方式。

.ajax()方法使用起来非常方便,可以对数据进行异步请求,并且可以设置回调函数来处理返回的数据。

但是有时候我们需要在请求完成之前进行一些操作,此时可以使用同步调用的方式来实现。

本文将详细介绍使用jQuery .ajax()方法进行同步请求的实现原理。

1. .ajax()方法简介.ajax()是jQuery库中用于发送HTTP请求的核心方法。

它是一个异步方法,可以向服务器发送GET、POST等请求,并处理服务器返回的数据。

.ajax()方法使用一个包含键值对的配置对象作为参数,可以设置请求的地址、请求方式、请求参数、回调函数等。

当请求完成时,可以在回调函数中处理返回的数据。

2. 异步请求与同步请求的区别在讲解实现原理之前,我们先来了解一下异步请求和同步请求的区别:- 异步请求:是指在发送请求的同时,主线程不会阻塞,而是继续执行后续的代码。

当请求完成后,会通过回调函数来处理返回的数据。

异步请求一般使用于需要较长时间才能返回结果的场景,如网络请求、文件上传等。

- 同步请求:是指在发送请求的同时,主线程会一直等待请求的响应结果,而不会继续执行后续的代码。

只有在请求完成后,才会继续执行下面的代码。

同步请求一般使用于需要立即获取结果的场景,如表单提交、页面加载等。

在默认情况下,.ajax()方法是异步请求的,即发送请求后会继续执行后续的代码。

而实现同步请求则需要额外的设置。

3. 同步请求的设置要实现同步请求,可以通过设置.ajax()方法的async选项为false来实现。

async的默认值为true,表示异步请求,当设置为false时表示同步请求。

示例代码:javascript.ajax({url: 'example',async: false,其他配置项...success: function(data) {处理返回的数据}});4. 同步请求的实现原理实现同步请求的关键在于事先知道请求需要的时间,以便正确地进行阻塞。

jqueryajax中各个事件执行顺序

jqueryajax中各个事件执行顺序

jqueryajax中各个事件执⾏顺序jquery ajax 中各个事件执⾏顺序如下:1.ajaxStart(全局事件)2.beforeSend3.ajaxSend(全局事件)4.success5.ajaxSuccess(全局事件)6.error7.ajaxError (全局事件)plete9.ajaxComplete(全局事件)10.ajaxStop(全局事件)下⾯看个例⼦:$("#ACCOUNT_TYPE").bind('click', function() {//alert( $(this).val());var msg="";if($(this).val()=="B134002")//托管{//msg="托管";msg="ACCOUNT_TYPE_COM_T";}else if($(this).val()=="B134001")//存管{//msg="存管";msg="ACCOUNT_TYPE_COM_C";}else if($(this).val()=="-")//存管和托管all{//msg="存管和托管";msg="ACCOUNT_TYPE_COM_ALL";}else{alert("参数错误!");return;}$("#ACCOUNT_TYPE_COMDiv_son").children().remove();//先清除所有⼦元素$.ajax({type:"post",url:"${ctx}/Rule/Combination/getdict",data:{type:msg},dataType:"json",success:function(json){//$(object).children(selector).remove(); // 删除object元素下满⾜selector选择器的⼦元素,不填写则默认删除所有⼦元素 for(var i=0;i<json.length;i++){var checkBox=document.createElement("input");//checkBox.setAttribute("type","checkbox");checkBox.setAttribute("type","radio");checkBox.setAttribute("id", json[i].value);checkBox.setAttribute("value", json[i].value);checkBox.setAttribute("name", "ACCOUNT_TYPE_COM");checkBox.setAttribute("checked", true);//checkBox.setAttribute("readonly", true);//var li=document.createElement("span");li.style.display = "block";li.style.width = 23+"%";li.style.float = "left";li.appendChild(checkBox);li.appendChild(document.createTextNode(json[i].label));$("#ACCOUNT_TYPE_COMDiv_son").append(li);}},beforeSend:function(mes){alert("beforeSend");},complete:function(){alert("complete");}});});运⾏这段代码,会先弹出 beforeSend 提⽰,然后加载success ⽅法⾥⾯的代码,最后弹出 complete 提⽰,这说明这段代码的⼏个⽅法的执⾏先后顺序是符合上⾯总结的顺序的!全局事件的例⼦:<html><head><script type="text/javascript" src="/jquery/jquery.js"></script><script type="text/javascript">$(document).ready(function(){$("div").ajaxStart(function(){$(this).html("<img src='/i/demo_wait.gif' />");alert("1.最先的全局⽅法");});$("button").click(function(){$("div").load("/example/jquery/demo_ajax_load.asp");});$("div").ajaxSend(function(){alert("2.发送前");});$("div").ajaxSuccess(function(){alert("3.成功后");});$("div").ajaxComplete(function(){alert("4.ajaxComplete");});$("div").ajaxStop(function(){alert("5.ajaxStop");});});</script></head><body><div id="txt"><h2>通过 AJAX 改变⽂本</h2></div><button>改变内容</button></body></html>每次点击 "改变内容" 的这个按钮,都会先加载⼀次demo_wait.gif 这个图⽚,然后执⾏ ajaxSend,然后执⾏ ajaxSuccess,然后执⾏ajaxComplete,然后执⾏ ajaxStop ,这个执⾏顺序也是符合上⾯总结的顺序的!____________________________________________________________________________________⼀、.ajaxStart()——ajax请求开始时触发描述:ajax请求开始时触发 .ajaxStart()的回调函数,全局的,所有的ajax都可以⽤写法:元素.ajaxStart(function({ajax请求开始时触发的代码})$("#loading").ajaxStart(function () {$(this).show(); //ajax请求开始时#loading元素显⽰});作⽤域:全局某个ajax不受全局⽅法的影响:⽅法:将$.ajax({})的global设为false$.ajax({url: "test.html",global:false});⼆、.ajaxStop()——ajax请求结束时触发描述:ajax请求结束时触发 .ajaxStop()的回调函数,全局的,所有的ajax都可以⽤写法:元素.ajaxStop(function({ajax请求结束时触发的代码})$("#loading").ajaxStop(function () {$(this).hide(); //ajax请求结束时#loading元素隐藏});作⽤域:全局某个ajax不受全局⽅法的影响:⽅法:将$.ajax({})的global设为false$.ajax({url: "test.html",global:false});_______________________________________________________________________。

jQuery中的Ajax几种请求方法

jQuery中的Ajax几种请求方法

jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。

废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到).1. load( url, [data], [callback] ) :载入远程HTML 文件代码并插入至DOM 中。

url (String) : 请求的HTML页的URL地址。

data (Map) : (可选参数) 发送至服务器的key/value 数据。

callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。

这个方法默认使用GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。

jQuery 1.2 中,可以指定选择符,来筛选载入的HTML 文档,DOM 中将仅插入筛选出的HTML 代码。

语法形如"url #some > selector"。

这个方法可以很方便的动态加载一些HTML文件,例如表单。

示例代码:$(".ajax.load").load("[url]/QLeelulu/archive/2008/03/30/1130270.html[/url] .post",function (responseText, textStatus, XMLHttpRequest){this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0]//alert(responseText);//请求返回的内容//alert(textStatus);//请求状态:success,error//alert(XMLHttpRequest);//XMLHttpRequest对象});这里将显示结果。

JQUERY常用方法大全

JQUERY常用方法大全

JQUERY常用方法大全JQuery是一个快速、简洁的JavaScript库,它简化了HTML文档的遍历、事件处理、动画和AJAX交互等操作。

下面是JQuery中常用的一些方法:1.选择器方法:- `$(this)`:选择当前元素。

- `$(document)`:选择整个文档。

- `$(window)`:选择浏览器窗口。

2.事件方法:- `$(selector).click(function)`:给元素绑定点击事件。

- `$(selector).dblclick(function)`:给元素绑定双击事件。

- `$(selector).mouseenter(function)`:给元素绑定鼠标进入事件。

- `$(selector).mouseleave(function)`:给元素绑定鼠标离开事件。

- `$(selector).keydown(function)`:给元素绑定键盘按下事件。

- `$(selector).keyup(function)`:给元素绑定键盘松开事件。

3.DOM操作方法:- `$(selector).html(content)`:设置元素的HTML内容。

- `$(selector).text(content)`:设置元素的文本内容。

- `$(selector).val(value)`:设置或获取输入框的值。

- `$(selector).append(content)`:在元素内部的结尾插入内容。

- `$(selector).prepend(content)`:在元素内部的开头插入内容。

- `$(selector).after(content)`:在元素的后面插入内容。

- `$(selector).before(content)`:在元素的前面插入内容。

- `$(selector).remove(`:删除元素。

4.属性和样式方法:- `$(selector).attr(attributeName)`:获取元素的属性值。

jquery中$.ajax()方法使用详解

jquery中$.ajax()方法使用详解

jquery中$.ajax()⽅法使⽤详解1.url说明:发送请求的地址(默认为当前页⾯),要求是String类型的参数,⽐如是.net下,"~wexin(控制器)/getweinxinmenu(动作)",2.type说明:请求⽅法(post或者get),默认是get,要求是String类型的参数。

其他的htpp请求如(put、delete)等也⽀持,但是要浏览器⽀持3.timeout说明:设置请求超时时间(毫秒),要求是number类型的参数。

此设置将覆盖$.ajaxSetup()⽅法的全局设置。

4.async说明:默认值为true,所有请求是异步,要求是Bool类型的参数,如果需要发送同步请求,将此项设置为false。

注意:同步时浏览器会被锁住。

5.cache说明:默认为true(当datatype为script时,默认为false)从浏览器缓存中加载请求信息,要求是Bool类型的参数。

6.data说明:发送到服务器的数据,要求是Object或string类型的参数。

如果已经不是字符串,将⾃动转换为字符串格式。

get请求中将附加在url 后。

防⽌这种⾃动转换,可以查看 processData选项。

对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。

如果是数组,JQuery将⾃动为不同值对应同⼀个名称。

例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

7.dataType:说明:预期服务器返回的数据类型,要求为String类型的参数。

如果不指定,JQuery将⾃动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。

jQuery调用AJAX异步操作超清晰教程

jQuery调用AJAX异步操作超清晰教程

JQUERY AJAX异步操作详细说明AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和XML)。

它并非一种新的技术,而是以下几种原有技术的结合体。

1)使用CSS和XHTML来表示。

2)使用DOM模型来交互和动态显示。

3)使用XMLHttpRequest来和服务器进行异步通信。

4)使用javascript来绑定和调用。

通过AJAX异步技术,可以在客户端脚本与web服务器交互数据的过程中使用XMLHttpRequest对象来完成HTTP请求(Request)/应答(Response)模型:1)不需要用户等待服务端响应。

在异步派发XMLHttpRequest请求后控制权马上就被返回到浏览器。

界面不会出现白板,在得到服务器响应之前还可以友好的给出一个加载提示。

2)不需要重新加载整个页面。

为XMLHttpRequest注册一个回调函数,待服务器响应到达时,触发回调函数,并且传递所需的少量数据。

“按需取数据”也降低了服务器的压力。

3)不需要使用隐藏或内嵌的框架。

在XHR对象之前,模拟Ajax通信通常使用hack手段,如使用隐藏的或内嵌的框架(<iframe>标签)。

下面介绍下AJAX中的重要对象:XMLHttpRequest。

XMLHttpRequest对象(XHR)XMLHttpRequest是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或接收XML及其他数据的一套API。

XMLHttpRequest对象首次以ActiveX对象形式在微软Internet Explorer(IE) 5中以引入。

其他浏览器制造商在认识到这一对象重要性后也纷纷实现了XMLHttpRequest对象,但是以一个本地JavaScript对象而不是作为一个ActiveX 对象实现。

而如今,由于安全性、标准等问题,微软已经在其IE 7中把XMLHttpRequest实现为一个本地JavaScript对象。

Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
});
四, $复.g制et代JS码O
代码如下:
$.getJSO N("data. $("#getJ S所ON以Re调sp用o 时需要使
);
When Ajax 载入静态 页面 load( url, (dSatraing) (cMaalpl)b(a可ck (Callbac load()方 法可以轻 复制代码
代码如下:
$("#load ing").aj $(t}h)i;s).
全局事件 也 复可制以代帮码
代码如下:
$("#msg" ).before $(t}h)i.sa)j.a xSuccess $(t}h)i.sa)j.a xError(f $}()t;his).
很显然, 第 复三制个代参码
代码如下:
$.ajax({
进一步了 解 前A面JA讨X事论 的一些方 ajaxStar t(全局事 件 be)fo开re始Se n(d局部事 件 a(j全)ax局当Se事一nd 件 s(u局)cc部请es事求s 件 aj)ax请Su求cc e全ss局事件 全 e(r局局ro部的r事请 件 aj)ax仅Er当ro r
全局事件 全 c(o局局mp部的le事发te 件 aj)ax不Co管mp l全et局e事件 全 a(j全局ax局的St事请op 件 局)部当事没件 在之前的 复制代码
代码如下:
$('#ajax 这样, d复at制a.代ht码m
代码如下:
$('#ajax -
实现GET 和POST方 get( url, (dSatraing) (cMaalpl)b(a可ck (Callbac 很显然这 是一个专 复制代码
代码如下:
$.get('l ogin.pihdp

JQuery中的AJAX详解

JQuery中的AJAX详解

JQuery中的AJAX详解目录(?)[-]load()方法load(url,[data],[callback])url为被加载的页面地址data表示发送到服务器的数据,格式为key/valuecallback格式为:function(responseText,textStatus,XMLHttpRequest){ }//responseText:请求返回的内容//textStatus:请求状态:success、error、notmodified、timeout这4种//XMLHttpRequest:XMLHttpRequest对象load()方法的传递方式根据参数data来自动指定。

如果没有参数传递,则采用GET方式传递;反之,则自动转换为POST 方式[javascript]view plaincopyprint?1.$("#div1").load(2."jsp/feed.jsp", //如果为" jsp/feed.jsp .filterClass",则表示获取jsp页面中类名为filterClass的全部元素3.{4. name :clf, age : 255.//经测试,变量名加引号、单引号、不加引号,后台都能取到值6.//如果含有中文,必须用encodeURI()进行编码,然后再服务器端用decodeURI()解码即可,如7.// {name:encodeURI($("#uName").val()),"password":$("#uPassword").val()},8.}, //也可以用数组传值,{"attr []",["clf","25","male"]}9.function (){10. $("#div2").text("AJAX");11.}12.);[javascript]view plaincopyprint?1.$("div").load("wrongname.xml",function(response,status,xhr){2.if (status=="success")3. {4. $("div").html("<ol></ol>");5. $(response).find("artist").each(function(){6. <span style="white-space:pre"> </span>varitem_text = $(this).text();7. <span style="white-space:pre"> </span>$('<li></li>').html(item_text).appendTo('ol');8. <span style="white-space:pre"> </span> });9. }10.else11. {12. $("div").html("Anerror occured: <br/>" + xhr.status + " " + xhr.statusText)13. }14. });getJSON()方法getJSON(url,[data],[callback])callback格式为function(data,textStatus) { }data是一个返回的json对象[javascript]view plaincopyprint?1.$.getJSON("test.js",{ name: "John", time: "2pm" }, function(json){2. alert("JSON Data: " +ers[3].name);3.});getScript()方法getScript(url,[callback])callback格式为function(response,status)response - 包含来自请求的结果数据status - 包含请求的状态("success","notmodified", "error", "timeout" 或"parsererror")通过此函数注入的脚本会自动执行get()方法get(url,data,callback(response,status,xhr),dataType)dataType可能的类型:"xml"、"html" 、"text"、"script"、"json"、"jsonp"get() 方法通过远程HTTPGET 请求载入信息。

jQuery操作Ajax和Json

jQuery操作Ajax和Json

jQuery操作Ajax和Json嗯,自己学SSH和做项目也已有两个月了。

自己今天来整理一下自己在项目中利用jQuery操作过的Ajax和Json。

当时我对于jQuery操作Ajax几乎不怎么了解,但是项目中有需求,所以自己也是必须要去使用,因此现在来详细讲解一下自己在项目中的操作。

功能中,有一个下拉框,里面存储的是服务商的信息,首选项是“--请选择--”,当我选择第一个下拉框中服务商信息之后,后面紧接着将会得到这个选定的服务商下的所有产品。

做一个联动操作。

虽然我不会用jQuery操作Ajax,但是我第一反应就是想到利用这块技术,于是自己就开始查找对应的资料了。

首先,我在Action中,将服务商的信息从数据库查找出来,保存到List集合中,将集合转发到JSP界面上,利用的是struts2标签:<div><s:select name="provider.iscenicid"list="#request.providerList"listKey="i scenicid"listValue="szcenicname"headerKey=""headerValue="--请选择"onchange="onChangeOptionScenic(this)"id="scenicType"/></s:select><span id="productInfo"></span></div>(ps:其实这个里面,本不应该设置headerKey和headerValue,应该在Action中在List集合中去增加一行再进行操作。

)中间的span标签就是将要利用jQuery操作Ajax把产品信息增加到span标签里面!其次,进行jQuery操作Ajax了:<script>function onChangeOptionScenic(_this) {// 获取下拉框中的listKey值var iscenic =$(_this).val();// 设置一个变量,来进行下面的操作var htmltv ="";// 设置URL地址var url ="/tips/travelmessage.action";// Ajax操作开始$.ajax ({// 设定URLurl : url,// 设置提交方式,这里为posttype : "post",// 设置数据类型为JsondataType : "json",// 设置传过去的值的属性名data : {"iscenicid" : iscenic},// 成功返回之后的操作方法success : function(result) {// 获取Action中传回来的result的值var json =eval("("+result+")");// 循环将服务商下的产品以复选框形式拼接出来for(var i=0; i<json.length; i++) {// 将产品信息以复选框形式拼接起来htmltv +="<input type='checkbox' name='productNa me'value='"+json[i].productId+"'/>"+json[i].prod uctName;}// 添加到上面的span标签中$("#productInfo").val(htmltv);}});}</script>最后,将result进行一个映射文件的配置,配置信息如下(根据公司的一些设定而操作):<action name="travelmessage"class="com.web.system.tips.TravelMessageAction" method="trav elMessage"><result type="json"><param name="root">result</param></result></action>在TravelMessageAction中,需要将内容返回到result中,部分代码如下:List productList = travelMessageService.getProductInfo(product);JSONArray json =new JSONArray().fromObject(productList);result = json.toString();return SUCCESS;至此,一个完整的操作已完成,这就是自己的一点点整理,希望以后有更多的有技术的知识与大家分享!。

jq的ajax写法

jq的ajax写法

jq的ajax写法在使用jq(jQuery)进行AJAX(异步JavaScript和XML)请求时,可以使用以下写法:1. 使用$.ajax()方法:javascript.$.ajax({。

url: "请求的URL",。

method: "请求方法(GET、POST等)",。

data: "请求参数(可选)",。

dataType: "预期的响应数据类型(可选)",。

success: function(response) {。

// 可以在这里处理响应数据。

},。

error: function(xhr, status, error) {。

// 请求失败时的回调函数。

// 可以在这里处理错误信息。

}。

});2. 使用$.get()方法发送GET请求:javascript.$.get("请求的URL", function(response) {。

// 可以在这里处理响应数据。

});3. 使用$.post()方法发送POST请求:javascript.$.post("请求的URL", "请求参数(可选)",function(response) {。

// 请求成功时的回调函数。

// 可以在这里处理响应数据。

});4. 使用$.getJSON()方法发送GET请求并期望JSON格式的响应: javascript.$.getJSON("请求的URL", function(response) {。

// 请求成功时的回调函数。

// 可以在这里处理响应数据。

});这些是jq中常用的AJAX写法,你可以根据具体需求选择适合的方法。

请注意,以上代码仅为示例,你需要根据实际情况替换URL、请求方法、请求参数和回调函数等内容。

jQuery Ajax 实例 全解析

jQuery Ajax 实例 全解析

jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。

废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到).1. load( url, [data], [callback] ) :载入远程HTML 文件代码并插入至DOM 中。

url (String) : 请求的HTML页的URL地址。

data (Map) : (可选参数) 发送至服务器的key/value 数据。

callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。

这个方法默认使用GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。

jQuery 1.2 中,可以指定选择符,来筛选载入的HTML 文档,DOM 中将仅插入筛选出的HTML 代码。

语法形如"url #some > selector"。

这个方法可以很方便的动态加载一些HTML文件,例如表单。

示例代码:$(".ajax.load").load("/yeer/archive/2009/06/10/ 1500682.html .post",function (responseText, textStatus, XMLHttpRequest){this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0]//alert(responseText);//请求返回的内容//alert(textStatus);//请求状态:success,error//alert(XMLHttpRequest);//XMLHttpRequest对象});这里将显示结果。

$.ajaxfileupload用法

$.ajaxfileupload用法

$.ajaxfileupload用法在Web开发中,文件上传是一种常见的操作,而使用Ajax技术可以实现异步文件上传,提高页面性能和用户体验。

jQuery中的$.ajaxFileUpload方法提供了一种简单易用的方式来实现文件上传功能。

$.ajaxFileUpload方法用于通过Ajax方式上传文件,支持多文件上传和回调函数的使用。

它接受三个参数:文件路径、回调函数和可选配置参数。

通过该方法,可以实现文件上传的异步操作,避免了页面刷新带来的影响,提高了页面性能。

二、用法示例```javascript//创建一个用于上传文件的表单元素varform=$('<form/>',{'method':'POST','enctype':'multipart/form-data'}).appendTo('body');//添加文件输入框varinput=$('<input/>',{'type':'file','name':'file','value':''}).appendTo(form);//触发文件选择器,选择文件input.trigger('click');//添加文件到表单中input.on('change',function(){varfiles=input.prop('files');if(files&&files.length>0){//创建AjaxFileUpload对象varupload=newAjaxFileUpload(form,{//配置选项action:'/upload',//上传接口地址autoSubmit:false,//不自动提交表单responseType:'json',//返回数据类型为JSONfileVal:'file',//文件字段名onComplete:function(data){//上传完成后回调函数console.log(data);//打印返回数据//TODO:处理上传结果,更新页面等操作},onError:function(error){//上传过程中出现错误时回调函数console.log(error);//打印错误信息//TODO:处理上传错误,显示错误提示等操作}});//开始上传文件upload.upload();}else{console.log('请选择文件');//输出提示信息}});```在上述示例中,首先创建了一个表单元素和一个文件输入框,并设置了表单的enctype属性为multipart/form-data,用于多文件上传。

jQueryAjax精品PPT课件

jQueryAjax精品PPT课件

$.ajax()方法
回调函数
1. beforeSend 在发送请求之前调用,并且传入一个 XMLHttpRequest作为参数。
2. error 在请求出错时调用。传入XMLHttpRequest对象,描 述错误类型的字符串以及一个异常对象(如果有的话)
3. dataFilter 在请求成功之后调用。传入返回的数据以及 "dataType"参数的值。并且必须返回新的数据(可能是处 理过的)传递给success回调函数。
data - 包含来自请求的结果数据 textstatus - 包含请求的状态("success", "notmodified", "error", "timeout" 或 "parsererror")
只有ajax请求成功后,才触发回调函数 type: 返回内容格式,xml, html, script, json, text, _default
$.getScript()方法
$.getScript(url, [callback]) 动态加载外部js文件并自动执行 打开
url: 待载入 JS 文件地址。 callback: 成功载入后回调函数。
$.getJSON ()方法
$.getJSON(url, [data], [callback]) 加载外部JSON数据文件 打开
jQuery Ajax
Ajax
1. 最底层的方法:$.ajax() 2. 第2层的方法:load()、$.get() 、$.post() 3. 第3层的方法:$.getScript()、$.getJSON()
load()方法
load(url, [data], [callback]) url: 待装入 HTML 网页网址。 data: 发送至服务器的 key/value 数据。也可以接受一个字 符串。 callback: 载入成功时回调函数。打开

jquery中AJAX请求$.post方法的使用

jquery中AJAX请求$.post方法的使用

jquery中AJAX请求$.post⽅法的使⽤使⽤jQuery的$.post⽅法可以以POST形式向服务器发起AJAX请求。

$.post⽅法是jQuery的实⽤⼯具⽅法。

post和get发送⽅式的特点, GET ⽅法提交数据不安全,数据置于请求⾏,客户端地址栏可见; GET ⽅法提交的数据⼤⼩限制在255 个字符之内。

POST⽅法提交的数据置于消息主体内,客户端不可见, POST ⽅法提交的数据⼤⼩没有限制。

$.post⽅法语法$.post(url,parameters,callback)参数url(字符串)服务器端资源地址。

parameter(对象)需要传递到服务器端的参数。

参数形式为“键/值”。

callback(函数)在请求完成时被调⽤。

该函数参数依次为响应体和状态。

返回值XHR实例看个简单的例⼦客户端代码:<html xmlns="/1999/xhtml"><head><title></title><script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script><script type="text/javascript">$().ready(function () { $('#selectNum').change(function () { var idValue = $(this).val(); //采⽤POST⽅式调⽤服务 $.post('Server.aspx', { id: idValue }, function (text, status) { alert(text); }); })})</script></head><body><select id="selectNum"> <option value="0">--Select--</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option></select></body></html>服务端主要代码:protected void Page_Load(object sender, EventArgs e){ if (!Page.IsPostBack) { if (Request["id"] != null && !string.IsNullOrEmpty(Request["id"].ToString())) { Response.Write( GetData(Request["id"].ToString())); } }}protected string GetData(string id){ string str = string.Empty; switch (id) { case "1": str += "This is Number 1"; break; case "2": str += "This is Number 2"; break; case "3": str += "This is Number 3"; break; default: str += "Warning Other Number!"; break; } return str;}运⾏程序,结果如图:⽤httpwatcher拦截请求信息,当下拉框中选择数字时,可以截取到如下请求信息。

AJAX&JQUERY

AJAX&JQUERY
xhr.onreadystatechange=f1;
xhr.send(null);
post:xhr.open('post','check_username.do',true);
xhr.setRequestHeader("content-type",'application/x-www-form-urlencoded');
keyup( [fn] )
mousedown(fn)
mousemove(fn)
mouseout(fn)
mouseover(fn)
mouseup(fn)
resize(fn)
scroll(fn)
select( [fn] )
submit( [fn] )
unload(fn)
AJAX(Asynchronous Javascript And Xml)
function getXhr(){
var xhr=null;
if(window.XMLHttpRequest){
xhr=new XMLHttpReuest();//非IE 浏览器
}else{
xhr=new ActiveXObject("Microsoft.XMLHttp");
对象JSONObject jsonObj=JSONObject.fromObject(srcObj);
String jsonStr=jsonObj.toString();
数组或List集合
JSONArray jsonArr=JSONArray.fromObject(listObj);
String jsinStr=jsonArr.toString();

使用jQuery的ajax方法向服务器发出get和post请求的方法

使用jQuery的ajax方法向服务器发出get和post请求的方法

使⽤jQuery的ajax⽅法向服务器发出get和post请求的⽅法打算写个ajax系列的博⽂,主要是写给⾃⼰看,学习下ajax的相关知识和⽤法,以更好的在⼯作中使⽤ajax。

假设有个⽹站A,它有⼀个简单的输⼊⽤户名的页⾯,界⾯上有两个输⼊框,第⼀个输⼊框包含在⼀个form表单⾥⽤来实现form提交,第⼆个输⼊框是单独的、没有包含在form⾥,下⾯就⽤这两个输⼊框来学习下jQuery的ajax。

1,前端的html和javascript代码页⾯html<main style="text-align: center; margin: 200px auto;"><h2>输⼊⽤户名</h2><form class="" action="demo01.php" method="post" style="margin-bottom: 20px;"><input id="user-name" type="text" name="username" placeholder="请填写您的⽤户名"><input type="submit" name="submit1" value="form提交1" class="input"></form><input id="user-name2" type="text" name="username2" placeholder="请填写您的⽤户名"><input type="button" name="submit2" value="ajax提交2"><div class="box"></div></main><script src="../../js/jquery-3.1.0.min.js"></script><script src="demo.js"></script>页⾯中引⼊的demo01.js代码,注意此处实现的是⼀个简单的GET请求。

Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的⽤法总结详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()⼀,$.get(url,[data],[callback])说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第⼀个为服务器返回的数据,第⼆个参数为服务器的状态,是可选参数。

⽽其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引⽤只是为了对⽐说明复制代码代码如下:$.get("data.php",$("#firstName.val()"),function(data){$("#getResponse").html(data); }//返回的data是字符串类型);⼆,$.post(url,[data],[callback],[type])说明:这个函数跟$.get()参数差不多,多了⼀个type参数,type为请求的数据类型,可以是html,xml,json等类型,如果我们设置这个参数为:json,那么返回的格式则是json格式的,如果没有设置,就和$.get()返回的格式⼀样,都是字符串的复制代码代码如下:$.post("data.php",$("#firstName.val()"),function(data){$("#postResponse").html();},"json"//设置了获取数据的类型,所以得到的数据格式为json类型的);三,$.ajax(opiton)说明:$.ajax()这个函数功能强⼤,可以对ajax进⾏许多精确的控制,需要详细说明的请参照相关资料复制代码代码如下:$.ajax({url: "ajax/ajax_selectPicType.aspx",data:{Full:"fu"},type: "POST",dataType:'json',success:CallBack,error:function(er){BackErr(er);}});四,$.getJSON(url,[data],[callback])复制代码代码如下:$.getJSON("data.php",$("#firstName.val()"),function(jsonData){$("#getJSONResponse").html(jsonData.id);}//⽆需设置,直接获取的数据类型为json,所以调⽤时需要使⽤jsonData.id⽅式);When Ajax meets jQuery 基于AJAX的应⽤现在越来越多,⽽对于前台开发⼈员来说,直接和底层的HTTPRequest打交道⼜不是⼀件令⼈愉快的事情。

jquery_ajax_完全使用手册.pdf

jquery_ajax_完全使用手册.pdf

参数: optio ns返回值: xml HttpReq uest使用HTTP请求一个页面。

这是jque ry的低级ajax实现。

要查看高级抽象,见$.set、$.post等,这些方法更易于理解和使用。

但是功能上有限制(例如,没有错误处理函数)。

警告:如果数据类型指定为"scrip t",那么POST自动转化为GET方法。

(因为script会作为一个嵌入页面的script标签进行载入)$.ajax()函数返回它创建的XMLH ttpRequest对象。

在大部分情况下,你不需要直接操作此对象。

通常,这个XMLH ttpReq uest对象主要用于需要手动中断XMLH ttpRequest请求的时候。

注意:如果你指明了下面列出的数据类型,请确保服务端发送了正确的MIME响应类型(如. xml 的类型是"te xt/xml")。

错误的MIME类型能够导致脚本出现意想不到的问题。

请查看AJAX的范例来了解数据类型的更多信息。

$.ajax()函数需要一个参数,一个包含有键/值对的对象,用于初始化并操作请求对象。

在jQue ry 1.2版本中,如果你指明了一个JSONP回调函数,你就可以从其它的域中载入JSON类型的数据,写法类似于"myurl?callback=?" 。

jQuery会自动调用正确的方法名称来代替查询字符串,执行你指定的回调函数。

或者,你也可以指定jso np的数据类型的回调函数,此函数会自动添加到Ajax请求中。

参数选项:async(true) 数据类型: Boolean默认情况下,所有的请求都是异步发送的(默认为true)。

如果需要发送同步请求, 设置选项为false。

注意,同步请求可能会暂时的锁定浏览器, 当请求激活时不能进行任何操作。

beforeSe nd 数据类型: Functio n一个预处理函数用于在发送前修改XMLHttpReq uest对象,设置自定义头部等。

JQuery中Ajax的操作完整例子

JQuery中Ajax的操作完整例子

JQuery中Ajax的操作完整例⼦Java软件开发中,后台中我们可以通过各种框架,像SSH等进⾏对代码的封装,⽅便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进⾏封装控制,使我们只需要进⾏⼀些简单配置就可以实现;⽽spring进⾏了对各种对象的管理进⾏封装,提供了AOP编程的⽅式,⼤⼤⽅便了我们;⽽hibernate和IBatis则是对JDBC代码进⾏封装,不需要我们每次都写那些重复⽽繁杂的JDBC代码。

前台呢,对于页⾯⼀些效果,验证等,我们都是通过JavaScript语⾔进⾏完成的,但是它也就像我们的Java代码⼀样,是最前台语⾔最基础的,⽽jQuery则是对js代码进⾏封装⽅便我们前台代码的编写,⽽且它还有⼀个⾮常⼤的优势就是解决了浏览器的兼容问题,这也是我们使⽤它⾮常重要的原因之⼀。

⽽现在为了满⾜⽤户的需求,Ajax(Asynchronous Javascript + XML)异步刷新起到了⽆可⽐拟的作⽤,以前写Ajax操作,总是需要我们想JDBC代码⼀样进⾏⼏个必备的步骤:AJAX——核⼼XMLHttpRequest对象,⽽JQuery也对Ajax异步操作进⾏了封装,这⾥看⼀下⼏种常⽤的⽅式。

$.ajax,$.post, $.get, $.getJSON。

⼀, $.ajax,这个是JQuery对ajax封装的最基础步,通过使⽤这个函数可以完成异步通讯的所有功能。

也就是说什么情况下我们都可以通过此⽅法进⾏异步刷新的操作。

但是它的参数较多,有的时候可能会⿇烦⼀些。

看⼀下常⽤的参数:var configObj = {method //数据的提交⽅式:get和posturl //数据的提交路劲async //是否⽀持异步刷新,默认是truedata //需要提交的数据dataType //服务器返回数据的类型,例如xml,String,Json等success //请求成功后的回调函数error //请求失败后的回调函数}$.ajax(configObj);//通过$.ajax函数进⾏调⽤。

jQueryAjax之load()回调

jQueryAjax之load()回调

jQueryAjax之load()回调$("#resText").load("test.html",function(responseText,textStatus,XMLHttpRequest){//responseText:请求返回的内容//textStatus:请求状态:success、error、notmodified、timeout这4种//XMLHttpRequest:XMLHttpRequest对象});可选的 callback 参数规定当 load() ⽅法完成后所要允许的回调函数。

回调函数可以设置不同的参数:responseTxt - 包含调⽤成功时的结果内容statusTXT - 包含调⽤的状态xhr - 包含 XMLHttpRequest 对象下⾯的例⼦会在 load() ⽅法完成后显⽰⼀个提⽰框。

如果 load() ⽅法已成功,则显⽰“外部内容加载成功!”,⽽如果失败,则显⽰错误消息:实例$("button").click(function(){$("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){if(statusTxt=="success")alert("外部内容加载成功!");if(statusTxt=="error")alert("Error: "+xhr.status+": "+xhr.statusText);});});。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
jQuery Ajax 操作函数
jQuery 库拥有完整的 Ajax 兼容套件。其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据。 函数 描述 执行异步 HTTP (Ajax) 请求。 当 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。 当 Ajax 请求完成且出现错误时注册要调用的处理程序。这是一个 Ajax 事件。 在 Ajax 请求发送之前显示一条消息。 设置将来的 Ajax 请求的默认值。 当首个 Ajax 请求完成开始时注册要调用的处理程序。这是一个 Ajax 事件。 当所有 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。 当 Ajax 请求成功完成时显示一条消息。 使用 HTTP GET 请求从服务器加载数据。 使用 HTTP GET 请求从服务器加载 JSON 编码数据。 使用 HTTP GET 请求从服务器加载 JavaScript 文件,然后执行该文件。 从服务器加载数据,然后把返回到 HTML 放入匹配元素。 创建数组或对象的序列化表示,适合在 URL 查询字符串或 Ajax 请求中使用。 使用 HTTP POST 请求从服务器加载数据。 将表单内容序列化为字符串。 序列化表单元素,返回 JSON 数据结构数据。
jQuery.ajax() .ajaxComplete() .ajaxError() .ajaxSend() jQuery.ajaxSetup() .ajaxStart() .ajaxStop() .ajaxSuccess() jQuery.get() jQuery.getJSON() jQuery.getScript() .load() jQபைடு நூலகம்ery.param() jQuery.post() .serialize() .serializeArray()
相关文档
最新文档