废话不多说了,先给大家贴一段代码看看吧,
success : 当请求成功时调用的函数。这个函数会得到一个参数:从服务器返回的数据。当请求成功时调用函数,即status==200。
complete :当请求完成时调用的函数。这个函数会得到两个参数:XMLHttpRequest对象和一个描述请求成功的类型的字符串。当请求完成时调用函数,即status==404、403、302...。
所以,在写success或者complete的方法时,注意传入的参数,和使用传进来参数对象来解决我们的问题
参数列表:
urltype方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。timeoutasync用户其它操作必须等待请求完成才可以执行。beforeSend修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数。
<span style="color: rgb(0,255)">this; <span style="color: rgb(0,128,0)">// the options for this ajax request
}</pre>
</td>
</tr>
<tr>
<td valign="top" width="90"><h3>cache</h3></td>
<td valign="top" width="83">Boolean</td>
<td valign="top" width="419">(默认: true) jQuery 1.2 新<a href="https://www.jb51.cc/tag/gongneng/" target="_blank" class="keywords">功能</a>,设置为 false 将不会从浏览器缓存中加载请求信息。</td>
</tr>
<tr>
<td valign="top" width="90"><h3>complete</h3></td>
<td valign="top" width="83">Function</td>
<td valign="top" width="419">请求完成后回调<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"><span style="color: rgb(0,255)">function (XMLHttpRequest,textStatus) {
<span style="color: rgb(0,0)">// the options for this ajax request
}</pre>
</td>
</tr>
<tr>
<td valign="top" width="90"><h3>contentType</h3></td>
<td valign="top" width="83">String</td>
<td valign="top" width="419">(默认: "application/x-www-form-urlencoded") 发送信息至服务器时<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>编码类型。默认值适合大多数应用场合。</td>
</tr>
<tr>
<td valign="top" width="90"><h3>data</h3></td>
<td valign="top" width="83">Object,
String</td>
<td valign="top" width="419">发送到服务器的数据。将<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>
</tr>
<tr>
<td valign="top" width="90"><h3>dataType</h3></td>
<td valign="top" width="83">String</td>
<td valign="top" width="419">
<p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">预期服务器返回的数据类型。如果不指定,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">"xml": 返回 XML 文档,可用 jQuery 处理。</p>
<p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">"html": 返回纯文本 HTML 信息;包含 script 元素。</p>
<p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">"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">"json": 返回 JSON 数据 。</p>
<p style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">"jsonp":<span class="Apple-converted-space"><a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" target="_blank" style="color: rgb(202,0); text-decoration: none">JSONP</a><span class="Apple-converted-space">格式。使用<span class="Apple-converted-space"><a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" target="_blank" style="color: rgb(202,0); text-decoration: none">JSONP</a><span class="Apple-converted-space">形式<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>
</tr>
<tr>
<td valign="top" width="90"><h3>error</h3></td>
<td valign="top" width="83">Function</td>
<td valign="top" width="419">(默认: <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"><span style="color: rgb(0,textStatus,errorThrown) {
<span style="color: rgb(0,0)">// 通常情况下textStatus和errorThown只有其中一个有值
<span style="color: rgb(0,0)">// the options for this ajax request
}</pre>
</td>
</tr>
<tr>
<td valign="top" width="90"><h3>global</h3></td>
<td valign="top" width="83">Boolean</td>
<td valign="top" width="419">(默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件</td>
</tr>
<tr>
<td valign="top" width="90"><h3>ifModified</h3></td>
<td valign="top" width="83">Boolean</td>
<td valign="top" width="419">(默认: false) 仅在服务器数据改变时<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>新数据。使用 HTTP 包 Last-Modified 头信息判断。</td>
</tr>
<tr>
<td valign="top" width="90"><h3>processData</h3></td>
<td valign="top" width="83">Boolean</td>
<td valign="top" width="419">(默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。</td>
</tr>
<tr>
<td valign="top" width="90"><h3>success</h3></td>
<td valign="top" width="83">Function</td>
<td valign="top" width="419">请求成功后回调<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"><span style="color: rgb(0,255)">function (data,0)">// data could be xmlDoc,jsonObj,html,text,etc...
<span style="color: rgb(0,0)">// the options for this ajax request
}</pre>
</td>
</tr>
好了,由于时间原因,本文先给大家介绍到这里,希望本文分享能够给大家带来灵感,帮助大家更好的学习javascript ajax success complete相关知识。
原文链接:https://www.f2er.com/ajax/51584.html