MicrosoftMvcAjax的异步调用回调函数(onFailure、onSuccess)研究

由Ajax.ActionLink产生的html代码(mvc示例:ContantManager)如下:

代码
 
    
< a groupid ="23" href ="/Contact/Index/23" onclick ="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, updateTargetId: 'divContactList1', onBegin: Function.createDelegate(this, beginContactList), onFailure: Function.createDelegate(this, failureContactList), onSuccess: Function.createDelegate(this, successContactList) });" > private string a >

 

当点击此链接,服务器执行成功调用onSuccess回调函数,执行失败调用onFailure回调函数。

 

onSuccess函数与onFailure函数的原型如下:

ajaxOptions.onSuccess(ajaxContext);

ajaxOptions.onFailure(ajaxContext);

这两个函数都有一个参数ajaxContext。

 

参数ajaxContext用法说明:

  • 显示服务器返回内容: alert(ajaxContext.get_data());
  • 服务器返回内容类型:alert(ajaxContext.get_response().getResponseHeader('Content-Type'));

参数ajaxContext代码如下:

文件MicrosoftMvcAjax.debug.js第33行

代码
 
    
// ////////////////////////////////////////////////////////////////////////////// // Sys.Mvc.AjaxContext Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) { // / // / // / // / // / // / // / // / // / // / // / // / // / // / // / // / // / // / this ._request = request; this ._updateTarget = updateTarget; this ._loadingElement = loadingElement; this ._insertionMode = insertionMode; } Sys.Mvc.AjaxContext.prototype = { _insertionMode: 0 , _loadingElement: null , _response: null , _request: null , _updateTarget: null , get_data: function Sys_Mvc_AjaxContext$get_data() { // / if ( this ._response) { return this ._response.get_responseData(); } else { return null ; } }, get_insertionMode: function Sys_Mvc_AjaxContext$get_insertionMode() { // / return this ._insertionMode; }, get_loadingElement: function Sys_Mvc_AjaxContext$get_loadingElement() { // / return this ._loadingElement; }, get_response: function Sys_Mvc_AjaxContext$get_response() { // / return this ._response; }, set_response: function Sys_Mvc_AjaxContext$set_response(value) { // / this ._response = value; return value; }, get_request: function Sys_Mvc_AjaxContext$get_request() { // / return this ._request; }, get_updateTarget: function Sys_Mvc_AjaxContext$get_updateTarget() { // / return this ._updateTarget; } }

你可能感兴趣的:(Asp.net,mvc)