`
koudailidexiaolong
  • 浏览: 96225 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

jquery中ajax的ajax方法的用法

 
阅读更多

B页面

<script type="text/javas<wbr>cript" src="jquery/jquery-1.4.js"&gt;&lt;/script&gt;<br>&lt;script type="text/javas<wbr>cript" &gt;<br>$(document).ready(function(){<br>$(":button").click(function(){<br>var ss = $.ajax({<br>/*地址路径*/<br>url:"a.jsp",<br>/*异步请求*/<br>async:false<br>});<br>$("#div1").html(ss.responseText);<br>})<br>})<br>&lt;/script&gt;<br> &lt;/head&gt;<br><br> &lt;body&gt;<br> &lt;div id="div1"&gt;<br><br> &lt;/div&gt;<br> &lt;input type="button" value="测试"/&gt;<br> &lt;/body&gt;<br>&lt;/html&gt;</wbr></wbr>

A页面

<%@ page language="java" imp<wbr>ort="java.util.*" pageEncoding="UTF-8"%&gt;<br>&lt;% <br>out.print("你好呀!nihaobuhao");<br>%&gt;<br>分享一哈<br></wbr>

<wbr><br>参数<br><dl> <dt>options</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Object</p> <p style="TEXT-INDENT: 2em;">可选。AJAX 请求设置。所有选项都是可选的。</p> </dd> <dt>async</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Boolean</p> <p style="TEXT-INDENT: 2em;">默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。</p> <p style="TEXT-INDENT: 2em;">注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。</p> </dd> <dt>beforeSend(XHR)</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Function</p> <p style="TEXT-INDENT: 2em;">发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。</p> <p style="TEXT-INDENT: 2em;">XMLHttpRequest 对象是唯一的参数。</p> <p style="TEXT-INDENT: 2em;">这是一个 Ajax 事件。如果返回 false 可以取消本次 ajax 请求。</p> </dd> <dt>cache</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Boolean</p> <p style="TEXT-INDENT: 2em;">默认值: true,dataType 为 script 和 jsonp 时默认为 false。设置为 false 将不缓存此页面。</p> <p style="TEXT-INDENT: 2em;">jQuery 1.2 新功能。</p> </dd> <dt>complete(XHR, TS)</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Function</p> <p style="TEXT-INDENT: 2em;">请求完成后回调函数 (请求成功或失败之后均调用)。</p> <p style="TEXT-INDENT: 2em;">参数: XMLHttpRequest 对象和一个描述请求类型的字符串。</p> <p style="TEXT-INDENT: 2em;">这是一个 Ajax 事件。</p> </dd> <dt>contentType</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">默认值: "application/x-www-form-urlencoded"。发送信息至服务器时内容编码类型。</p> <p style="TEXT-INDENT: 2em;">默认值适合大多数情况。如果你明确地传递了一个 content-type 给 $.ajax() 那么它必定会发送给服务器(即使没有数据要发送)。</p> </dd> <dt>context</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Object</p> <p style="TEXT-INDENT: 2em;">这个对象用于设置 Ajax 相关回调函数的上下文。也就是说,让回调函数内 this 指向这个对象(如果不设定这个参数,那么 this 就指向调用本次 AJAX 请求时传递的 options 参数)。比如指定一个 DOM 元素作为 context 参数,这样就设置了 success 回调函数的上下文为这个 DOM 元素。</p> <p style="TEXT-INDENT: 2em;">就像这样:</p> <pre>$.ajax({ url: "test.html", context: document.body, success: function(){ $(this).addClass("done"); }}); </pre> </dd> <dt>data</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&amp;foo=bar1&amp;foo=bar2'。</p> </dd> <dt>dataFilter</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Function</p> <p style="TEXT-INDENT: 2em;">给 Ajax 返回的原始数据的进行预处理的函数。提供 data 和 type 两个参数:data 是 Ajax 返回的原始数据,type 是调用 jQuery.ajax 时提供的 dataType 参数。函数返回的值将由 jQuery 进一步处理。</p> </dd> <dt>dataType</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值: </p> <br>"xml": 返回 XML 文档,可用 jQuery 处理。<br>"html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。<br>"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)<br>"json": 返回 JSON 数据 。<br>"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。<br>"text": 返回纯文本字符串<br> </dd> <dt>error</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Function</p> <p style="TEXT-INDENT: 2em;">默认值: 自动判断 (xml 或 html)。请求失败时调用此函数。</p> <p style="TEXT-INDENT: 2em;">有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。</p> <p style="TEXT-INDENT: 2em;">如果发生了错误,错误信息(第二个参数)除了得到 null 之外,还可能是 "timeout", "error", "notmodified" 和 "parsererror"。</p> <p style="TEXT-INDENT: 2em;">这是一个 Ajax 事件。</p> </dd> <dt>global</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Boolean</p> <p style="TEXT-INDENT: 2em;">是否触发全局 AJAX 事件。默认值: true。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。</p> </dd> <dt>ifModified</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Boolean</p> <p style="TEXT-INDENT: 2em;">仅在服务器数据改变时获取新数据。默认值: false。使用 HTTP 包 Last-Modified 头信息判断。在 jQuery 1.4 中,它也会检查服务器指定的 'etag' 来确定数据没有被修改过。</p> </dd> <dt>jsonp</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">在一个 jsonp 请求中重写回调函数的名字。这个值用来替代在 "callback=?" 这种 GET 或 POST 请求中 URL 参数里的 "callback" 部分,比如 {jsonp:'onJsonPLoad'} 会导致将 "onJsonPLoad=?" 传给服务器。</p> </dd> <dt>jsonpCallback</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">为 jsonp 请求指定一个回调函数名。这个值将用来取代 jQuery 自动生成的随机函数名。这主要用来让 jQuery 生成度独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存 GET 请求的时候,指定这个回调函数名。</p> </dd> <dt>password</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">用于响应 HTTP 访问认证请求的密码</p> </dd> <dt>processData</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Boolean</p> <p style="TEXT-INDENT: 2em;">默认值: true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。</p> </dd> <dt>scriptCharset</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">只有当请求时 dataType 为 "jsonp" 或 "script",并且 type 是 "GET" 才会用于强制修改 charset。通常只在本地和远程的内容编码不同时使用。</p> </dd> <dt>success</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Function</p> <p style="TEXT-INDENT: 2em;">请求成功后的回调函数。</p> <p style="TEXT-INDENT: 2em;">参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。</p> <p style="TEXT-INDENT: 2em;">这是一个 Ajax 事件。</p> </dd> <dt>traditional</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Boolean</p> <p style="TEXT-INDENT: 2em;">如果你想要用传统的方式来序列化数据,那么就设置为 true。请参考工具分类下面的 jQuery.param 方法。</p> </dd> <dt>timeout</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Number</p> <p style="TEXT-INDENT: 2em;">设置请求超时时间(毫秒)。此设置将覆盖全局设置。</p> </dd> <dt>type</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">默认值: "GET")。请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。</p> </dd> <dt>url</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">默认值: 当前页地址。发送请求的地址。</p> </dd> <dt>username</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:String</p> <p style="TEXT-INDENT: 2em;">用于响应 HTTP 访问认证请求的用户名。</p> </dd> <dt>xhr</dt> <dd> <p style="TEXT-INDENT: 2em;">类型:Function</p> <p style="TEXT-INDENT: 2em;">需要返回一个 XMLHttpRequest 对象。默认在 IE 下是 ActiveXObject 而其他情况下是 XMLHttpRequest 。用于重写或者提供一个增强的 XMLHttpRequest 对象。这个参数在 jQuery 1.3 以前不可用。</p> </dd> </dl> <br>回调函数<br><p style="TEXT-INDENT: 2em;">如果要处理 $.ajax() 得到的数据,则需要使用回调函数:beforeSend、error、dataFilter、success、complete。</p> <br>beforeSend<br><p style="TEXT-INDENT: 2em;">在发送请求之前调用,并且传入一个 XMLHttpRequest 作为参数。</p> <br>error<br><p style="TEXT-INDENT: 2em;">在请求出错时调用。传入 XMLHttpRequest 对象,描述错误类型的字符串以及一个异常对象(如果有的话)</p> <br>dataFilter<br><p style="TEXT-INDENT: 2em;">在请求成功之后调用。传入返回的数据以及 "dataType" 参数的值。并且必须返回新的数据(可能是处理过的)传递给 success 回调函数。</p> <br>success<br><p style="TEXT-INDENT: 2em;">当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。</p> <br>complete<br><p style="TEXT-INDENT: 2em;">当请求完成之后调用这个函数,无论成功或失败。传入 XMLHttpRequest 对象,以及一个包含成功或错误代码的字符串。</p> <br>数据类型<br><p style="TEXT-INDENT: 2em;">$.ajax() 函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是 XML,那么返回的结果就可以用普通的 XML 方法或者 jQuery 的选择器来遍历。如果见得到其他类型,比如 HTML,则数据就以文本形式来对待。</p> <p style="TEXT-INDENT: 2em;">通过 dataType 选项还可以指定其他不同数据处理方式。除了单纯的 XML,还可以指定 html、json、jsonp、script 或者 text。</p> <p style="TEXT-INDENT: 2em;">其中,text 和 xml 类型返回的数据不会经过处理。数据仅仅简单的将 XMLHttpRequest 的 responseText 或 responseHTML 属性传递给 success 回调函数。</p> <p style="TEXT-INDENT: 2em;">注意:我们必须确保网页服务器报告的 MIME 类型与我们选择的 dataType 所匹配。比如说,XML的话,服务器端就必须声明 text/xml 或者 application/xml 来获得一致的结果。</p> <p style="TEXT-INDENT: 2em;">如果指定为 html 类型,任何内嵌的 JavaScript 都会在 HTML 作为一个字符串返回之前执行。类似地,指定 script 类型的话,也会先执行服务器端生成 JavaScript,然后再把脚本作为一个文本数据返回。</p> <p style="TEXT-INDENT: 2em;">如果指定为 json 类型,则会把获取到的数据作为一个 JavaScript 对象来解析,并且把构建好的对象作为结果返回。为了实现这个目的,它首先尝试使用 JSON.parse()。如果浏览器不支持,则使用一个函数来构建。</p> <p style="TEXT-INDENT: 2em;">JSON 数据是一种能很方便通过 JavaScript 解析的结构化数据。如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用 jsonp 类型。使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的 URL 后面。服务器端应当在 JSON 数据前加上回调函数名,以便完成一个有效的 JSONP 请求。如果要指定回调函数的参数名来取代默认的 callback,可以通过设置 $.ajax() 的 jsonp 参数。</p> <p style="TEXT-INDENT: 2em;">注意:JSONP 是 JSON 格式的扩展。它要求一些服务器端的代码来检测并处理查询字符串参数。</p> <p style="TEXT-INDENT: 2em;">如果指定了 script 或者 jsonp 类型,那么当从服务器接收到数据时,实际上是用了 &lt;script&gt; 标签而不是 XMLHttpRequest 对象。这种情况下,$.ajax() 不再返回一个 XMLHttpRequest 对象,并且也不会传递事件处理函数,比如 beforeSend。</p> <br>发送数据到服务器<br><p style="TEXT-INDENT: 2em;">默认情况下,Ajax 请求使用 GET 方法。如果要使用 POST 方法,可以设定 type 参数值。这个选项也会影响 data 选项中的内容如何发送到服务器。</p> <p style="TEXT-INDENT: 2em;">data 选项既可以包含一个查询字符串,比如 key1=value1&amp;key2=value2 ,也可以是一个映射,比如 {key1: 'value1', key2: 'value2'} 。如果使用了后者的形式,则数据再发送器会被转换成查询字符串。这个处理过程也可以通过设置 processData 选项为 false 来回避。如果我们希望发送一个 XML 对象给服务器时,这种处理可能并不合适。并且在这种情况下,我们也应当改变 contentType 选项的值,用其他合适的 MIME 类型来取代默认的 application/x-www-form-urlencoded 。</p> <br>高级选项<br><p style="TEXT-INDENT: 2em;">global 选项用于阻止响应注册的回调函数,比如 .ajaxSend,或者 ajaxError,以及类似的方法。这在有些时候很有用,比如发送的请求非常频繁且简短的时候,就可以在 ajaxSend 里禁用这个。</p> <p style="TEXT-INDENT: 2em;">如果服务器需要 HTTP 认证,可以使用用户名和密码可以通过 username 和 password 选项来设置。</p> <p style="TEXT-INDENT: 2em;">Ajax 请求是限时的,所以错误警告被捕获并处理后,可以用来提升用户体验。请求超时这个参数通常就保留其默认值,要不就通过 jQuery.ajaxSetup 来全局设定,很少为特定的请求重新设置 timeout 选项。</p> <p style="TEXT-INDENT: 2em;">默认情况下,请求总会被发出去,但浏览器有可能从它的缓存中调取数据。要禁止使用缓存的结果,可以设置 cache 参数为 false。如果希望判断数据自从上次请求后没有更改过就报告出错的话,可以设置 ifModified 为 true。</p> <p style="TEXT-INDENT: 2em;">scriptCharset 允许给 &lt;script&gt; 标签的请求设定一个特定的字符集,用于 script 或者 jsonp 类似的数据。当脚本和页面字符集不同时,这特别好用。</p> <p style="TEXT-INDENT: 2em;">Ajax 的第一个字母是 asynchronous 的开头字母,这意味着所有的操作都是并行的,完成的顺序没有前后关系。$.ajax() 的 async 参数总是设置成true,这标志着在请求开始后,其他代码依然能够执行。强烈不建议把这个选项设置成 false,这意味着所有的请求都不再是异步的了,这也会导致浏览器被锁死。</p> <p style="TEXT-INDENT: 2em;">$.ajax 函数返回它创建的 XMLHttpRequest 对象。通常 jQuery 只在内部处理并创建这个对象,但用户也可以通过 xhr 选项来传递一个自己创建的 xhr 对象。返回的对象通常已经被丢弃了,但依然提供一个底层接口来观察和操控请求。比如说,调用对象上的 .abort() 可以在请求完成前挂起请求。</p></wbr>
分享到:
评论

相关推荐

    jquery的ajax方法

    **数据交互**在jQuery的Ajax方法中,可以通过`data`参数传递数据到服务器,可以是JSON、序列化的字符串或者查询字符串。同时,服务器返回的数据会在`success`回调函数中处理,通常以JSON格式接收,便于前端解析和...

    asp.net 利用jquery-ajax调用后台方法

    在HTML页面中,我们可以使用jQuery的`$.ajax()`方法来调用这个WebMethod。以下是一个简单的例子: ```javascript $.ajax({ type: "POST", url: "Default.aspx/HelloWorld", contentType: "application/json; ...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    1. jQuery的AJAX方法:在文章中,通过使用jQuery提供的$.ajax()方法来发起异步请求。这个方法允许我们指定请求的类型(如GET或POST)、URL地址、传递的数据以及当请求成功时如何处理返回的数据。 2. 后台数据的返回...

    jquery中ajax的用法实例

    ### jQuery中Ajax的用法实例 #### 一、概述 jQuery 是一款优秀的 JavaScript 库,其简化了许多 HTML 文档操作、事件处理、动画以及 Ajax 交互。尤其在处理 Ajax 方面,jQuery 提供了一系列简单易用的方法,使得...

    jquery 的ajax用法

    本文将深入探讨jQuery中的Ajax用法,包括基本使用、参数配置、请求类型以及处理响应。 ### 1. 基本使用 jQuery的Ajax方法是`$.ajax()`,其基本语法如下: ```javascript $.ajax({ url: '...

    jquery,ajax的几个小例子

    1. **$.ajax()函数**:这是jQuery中最核心的Ajax方法,可以接受多个参数来定制请求。例如,URL、类型(GET或POST)、数据、回调函数等。基本用法如下: ```javascript $.ajax({ url: 'your-url', type: 'GET', ...

    基于jQuery的Ajax聊天室程序

    在本聊天室中,jQuery提供了方便的方法来操作DOM元素,监听用户输入,以及发起Ajax请求。 2. **Ajax**:Ajax的核心是创建XMLHttpRequest对象,用于与服务器进行异步通信。在聊天室中,当用户发送消息时,jQuery的$....

    Asp.net中JQuery、ajax调用后台方法总结

    * 在后台方法中使用 `[System.Web.Services.WebMethod()]` 特性来标记方法为可被调用的 * 在调用后台方法时,需要指定 `type`、`url`、`data`、`contentType` 和 `dataType` 等参数 * 在处理返回数据时,需要使用 `...

    Jquery跨域Ajax请求测试

    在jQuery中,使用`xhrFields`参数添加`withCredentials`设置为`true`,可以实现携带Cookie的跨域请求。 ```javascript $.ajax({ type: "GET", url: "http://example.com/remote-service", xhrFields: { ...

    Asp.Net MVC之jQuery与AJAX操作实例

    在Asp.Net MVC框架中,jQuery和AJAX的结合使用极大地提升了用户体验,使得网页能够实现异步数据交互,无需刷新整个页面即可完成数据的增删查改操作。本实例将深入探讨如何在Asp.Net MVC项目中应用jQuery与AJAX。 一...

    jquery-ajax实例

    AJAX(异步JavaScript和XML)技术在现代Web开发中扮演着关键角色,而jQuery的ajax方法则提供了简洁的API来实现这一功能。 首先,我们来看`bean - json`的转化。在Web服务中,我们经常需要在服务器端处理Java Bean...

    Asp.net 用jQuery 实现Ajax的效果方法

    在JavaScript部分,使用jQuery的`$.ajax`方法发起Ajax请求: ```javascript function ajaxCall() { var url = "AjaxTestC#"; $.ajax({ type: "POST", url: url, data: "{}", // 如果需要传递数据,可以在这里...

    JQuery+AJAX实现用户名验证

    3. **AJAX请求**:在`validateUsername()`函数中,创建XMLHttpRequest对象或者使用jQuery的`$.ajax()`方法。我们发送一个POST或GET请求到服务器,携带用户名数据。 ```javascript function validateUsername() { ...

    Struts2+Jquery+Ajax

    6. Struts2与Ajax的集成,使用JQuery的$.ajax()或$.getJSON()方法 7. 请求与响应的处理,包括参数传递和数据封装 8. 实例演示:使用Struts2+Jquery+Ajax实现动态加载数据或表单验证 "struts2 jar"文件包含了Struts2...

    使用jQuery ajax提交表单代码

    总的来说,使用jQuery的ajax方法提交表单是一种高效且灵活的方式,能够无缝集成到现有的jQuery应用中。通过理解以上知识点,开发者可以创建更动态、响应更快的Web应用。在提供的压缩包文件“jqueryform”中,你应该...

    jQuery+ajax实现三级级联

    3. **处理事件**:当`change`事件触发时,使用jQuery的`$.ajax()`方法向服务器发送请求。请求中包含当前选中的值,服务器根据这些值返回对应的下一级别的选项。 4. **动态更新**:收到服务器响应后,使用jQuery的...

    为jquery的ajax请求添加超时timeout时间的操作方法

    在现代Web开发中,使用jQuery进行Ajax请求是一种常见的操作。jQuery作为一个广泛使用的JavaScript库,简化了从客户端到服务器的数据交互,而Ajax超时的设置则是保证请求响应时效性的重要手段。当客户端向服务器发送...

    jquery+ajax的视频讲解

    在“第八章后jQueryAjax的使用”中,我们将深入探讨如何利用jQuery进行AJAX操作。 **AJAX基础** AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许在不重新加载整个页面的情况下,与服务器...

    jquery,jquery是Ajax的一个框架

    jQuery 是一个广泛使用的 JavaScript 库,它极大地简化了前端开发中的许多任务,尤其是处理 AJAX(Asynchronous JavaScript and XML)请求。AJAX 是一种在不刷新整个网页的情况下,允许部分网页内容异步更新的技术。...

Global site tag (gtag.js) - Google Analytics