谈谈Jquery ajax中success和complete有哪些不同点

前端之家收集整理的这篇文章主要介绍了谈谈Jquery ajax中success和complete有哪些不同点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

废话不多说了,先给大家贴一段代码看看吧,

success : 当请求成功时调用函数。这个函数会得到一个参数:从服务器返回的数据。当请求成功时调用函数,即status==200。

complete :当请求完成时调用函数。这个函数会得到两个参数:XMLHttpRequest对象和一个描述请求成功的类型的字符串。当请求完成时调用函数,即status==404403、302...。

所以,在写success或者complete的方法时,注意传入的参数,和使用传进来参数对象来解决我们的问题

参数列表:

urltype方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。timeoutasync用户其它操作必须等待请求完成才可以执行。beforeSend修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。
 <span style="color: rgb(0,255)"&gt;this; <span style="color: rgb(0,128,0)"&gt;// the options for this ajax request
 }</pre>
  </td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>cache</h3></td&gt;
  <td valign="top" width="83"&gt;Boolean</td&gt;
  <td valign="top" width="419"&gt;(默认: true) jQuery 1.2 新<a href="https://www.jb51.cc/tag/gongneng/" target="_blank" class="keywords">功能</a>,设置为 false 将不会从浏览器缓存中加载请求信息。</td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>complete</h3></td&gt;
  <td valign="top" width="83"&gt;Function</td&gt;
  <td valign="top" width="419"&gt;请求完成后回调<a href="https://www.jb51.cc/tag/hanshu/" target="_blank" class="keywords">函数</a> (请求成功或失败时均<a href="https://www.jb51.cc/tag/diaoyong/" target="_blank" class="keywords">调用</a>)。参数: XMLHttpRequest 对象,成功信息字符串。
  <pre style="word-wrap: break-word; white-space: pre-wrap"&gt;<span style="color: rgb(0,255)"&gt;function (XMLHttpRequest,textStatus) {

 <span style="color: rgb(0,0)"&gt;// the options for this ajax request
 }</pre>
  </td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>contentType</h3></td&gt;
  <td valign="top" width="83"&gt;String</td&gt;
  <td valign="top" width="419"&gt;(默认: "application/x-www-form-urlencoded") 发送信息至服务器时<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>编码类型。默认值适合大多数应用场合。</td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>data</h3></td&gt;
  <td valign="top" width="83"&gt;Object,
  String</td&gt;
  <td valign="top" width="419"&gt;发送到服务器的数据。将<a href="https://www.jb51.cc/tag/zidong/" target="_blank" class="keywords">自动</a>转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以<a href="https://www.jb51.cc/tag/jinzhi/" target="_blank" class="keywords">禁止</a>此<a href="https://www.jb51.cc/tag/zidong/" target="_blank" class="keywords">自动</a>转换。必须为 Key/Value 格式。如果为数组,jQuery 将<a href="https://www.jb51.cc/tag/zidong/" target="_blank" class="keywords">自动</a>为不同值对应同一个<a href="https://www.jb51.cc/tag/mingcheng/" target="_blank" class="keywords">名称</a>。如 {foo:["bar1","bar2"]} 转换为 '&foo=bar1&foo=bar2'。</td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>dataType</h3></td&gt;
  <td valign="top" width="83"&gt;String</td&gt;
  <td valign="top" width="419"&gt;
  <p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;预期服务器返回的数据类型。如果不指定,jQuery 将<a href="https://www.jb51.cc/tag/zidong/" target="_blank" class="keywords">自动</a>根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调<a href="https://www.jb51.cc/tag/hanshu/" target="_blank" class="keywords">函数</a>参数传递,可用值:</p>
  <p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;"xml": 返回 XML 文档,可用 jQuery 处理。</p>
  <p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;"html": 返回纯文本 HTML 信息;包含 script 元素。</p>
  <p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;"script": 返回纯文本 JavaScript <a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>。不会<a href="https://www.jb51.cc/tag/zidong/" target="_blank" class="keywords">自动</a>缓存结果。</p>
  <p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;"json": 返回 JSON 数据 。</p>
  <p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;"jsonp":<span class="Apple-converted-space"&gt;<a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" target="_blank" style="color: rgb(202,0); text-decoration: none"&gt;JSONP</a><span class="Apple-converted-space"&gt;格式。使用<span class="Apple-converted-space"&gt;<a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" target="_blank" style="color: rgb(202,0); text-decoration: none"&gt;JSONP</a><span class="Apple-converted-space"&gt;形式<a href="https://www.jb51.cc/tag/diaoyong/" target="_blank" class="keywords">调用</a><a href="https://www.jb51.cc/tag/hanshu/" target="_blank" class="keywords">函数</a>时,如 "myurl?callback=?" jQuery 将<a href="https://www.jb51.cc/tag/zidongtihuan/" target="_blank" class="keywords">自动替换</a> ? 为正确的<a href="https://www.jb51.cc/tag/hanshu/" target="_blank" class="keywords">函数</a>名,以执行回调<a href="https://www.jb51.cc/tag/hanshu/" target="_blank" class="keywords">函数</a>。</p>
  </td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>error</h3></td&gt;
  <td valign="top" width="83"&gt;Function</td&gt;
  <td valign="top" width="419"&gt;(默认: <a href="https://www.jb51.cc/tag/zidong/" target="_blank" class="keywords">自动</a>判断 (xml 或 html)) 请求失败时将<a href="https://www.jb51.cc/tag/diaoyong/" target="_blank" class="keywords">调用</a>此<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>。这个<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>有三个参数:XMLHttpRequest 对象,<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a>信息,(可能)捕获的<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a>对象。
  <pre style="word-wrap: break-word; white-space: pre-wrap"&gt;<span style="color: rgb(0,textStatus,errorThrown) {

 <span style="color: rgb(0,0)"&gt;// 通常情况下textStatus和errorThown只有其中一个有值 
 <span style="color: rgb(0,0)"&gt;// the options for this ajax request
 }</pre>
  </td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>global</h3></td&gt;
  <td valign="top" width="83"&gt;Boolean</td&gt;
  <td valign="top" width="419"&gt;(默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件</td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>ifModified</h3></td&gt;
  <td valign="top" width="83"&gt;Boolean</td&gt;
  <td valign="top" width="419"&gt;(默认: false) 仅在服务器数据改变时<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>新数据。使用 HTTP 包 Last-Modified 头信息判断。</td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>processData</h3></td&gt;
  <td valign="top" width="83"&gt;Boolean</td&gt;
  <td valign="top" width="419"&gt;(默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。</td&gt;
</tr&gt;
<tr&gt;
  <td valign="top" width="90"&gt;<h3>success</h3></td&gt;
  <td valign="top" width="83"&gt;Function</td&gt;
  <td valign="top" width="419"&gt;请求成功后回调<a href="https://www.jb51.cc/tag/hanshu/" target="_blank" class="keywords">函数</a>。这个<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>有两个参数:服务器返回数据,返回状态
  <pre style="word-wrap: break-word; white-space: pre-wrap"&gt;<span style="color: rgb(0,255)"&gt;function (data,0)"&gt;// data could be xmlDoc,jsonObj,html,text,etc...
 <span style="color: rgb(0,0)"&gt;// the options for this ajax request
 }</pre>
  </td&gt;
</tr&gt;

好了,由于时间原因,本文先给大家介绍到这里,希望本文分享能够给大家带来灵感,帮助大家更好的学习javascript ajax success complete相关知识。

原文链接:https://www.f2er.com/ajax/51584.html

猜你在找的Ajax相关文章