jQuery 中 ajaxSuccess() 和 ajaxComplete() 函数的区别是什么?
ajaxSuccess() 方法
ajaxSuccess( callback ) 方法附加一个函数,每当 AJAX 请求成功完成时执行该函数。这是一个 Ajax 事件。
以下是此方法使用到的所有参数的描述:
- callback - 要执行的函数。事件对象、XMLHttpRequest 和用于该请求的设置将作为参数传递给回调函数。
假设我们在result.html 文件中具有以下 HTML 内容
<h1>THIS IS RESULT...</h1>
示例
以下示例显示了此方法的用法
<html> <head> <title>The jQuery Example</title> <script type = "text/javascript" src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script type = "text/javascript" language = "javascript"> $(document).ready(function() { /* Global variable */ var count = 0; $("#driver").click(function(event){ $('#stage0').load('result.html'); }); /* Gets called when request starts */ $(document).ajaxStart(function(){ count++; $("#stage1").html("<h1>Starts, Count :" + count + "</h1>"); }); /* Gets called when request is sent */ $(document).ajaxSend(function(evt, req, set){ count++; $("#stage2").html("<h1>Sends, Count :" + count + "</h1>"); $("#stage2").append("<h1>URL :" + set.url + "</h1>"); }); /* Gets called when request completes */ $(document).ajaxComplete(function(event,request,settings){ count++; $("#stage3").html("<h1>Completes,Count:" + count + "</h1>"); }); /* Gets called when request is stopped */ $(document).ajaxStop(function(event,request,settings){ count++; $("#stage4").html("<h1>Stops, Count :" + count + "</h1>"); }); /* Gets called when all request completes successfully */ $(document).ajaxSuccess(function(event,request,settings){ count++; $("#stage5").html("<h1>Success,Count :" + count + "</h1>"); }); }); </script> </head> <body> <p>Click on the button to load result.html file:</p> <div id = "stage0" style = "background-color:blue;"> STAGE - 0 </div> <div id = "stage1" style = "background-color:blue;"> STAGE - 1 </div> <div id = "stage2" style = "background-color:blue;"> STAGE - 2 </div> <div id = "stage3" style = "background-color:blue;"> STAGE - 3 </div> <div id = "stage4" style = "background-color:blue;"> STAGE - 4 </div> <div id = "stage5" style = "background-color:blue;"> STAGE - 5 </div> <input type = "button" id = "driver" value="Load Data" /> </body> </html>
ajaxComplete() 方法
ajaxComplete( callback ) 方法附加一个函数,每当 AJAX 请求完成时执行该函数。
以下是此方法使用到的所有参数的描述:
- callback - 要执行的函数。XMLHttpRequest 和用于该请求的设置将作为参数传递给此函数。
假设我们在result.html 文件中具有以下 HTML 内容:
<h1>THIS IS RESULT...</h1>
示例
以下示例显示了此方法的用法
<html> <head> <title>The jQuery Example</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function() { $("#driver").click(function(event){ $('#stage1').load('result.html'); }); $(document).ajaxComplete(function(event, request, settings){ $("#stage2").html("<h1>Request Complete.</h1>"); }); }); </script> </head> <body> <p>Click on the button to load result.html file:</p> <div id = "stage1" style = "background-color:blue;"> STAGE - 1 </div> <div id = "stage2" style = "background-color:blue;"> STAGE - 2 </div> <input type = "button" id = "driver" value = "Load Data" /> </body> </html>
广告