2014-05-22 38 views
0

小問題(解決方案似乎很簡單,但我似乎無法在谷歌上找到它)。我想使用data-設置在我的error: function裏面。我知道這可能聽起來很神祕,但讓我用一個例子。Jquery - Ajax:獲取「發佈」數據「內的」錯誤「

我有以下的Ajax調用(jquery)。

$.ajax({ 
    type: "GET", 
    url: "Search.aspx", 
    data: { 
     action: 'GetUsers', 
     userSearchString: $("#txtUserSearchText").val(), 
     Docbase: docbase 
    }, 
    success: function (data) { 

     .... (Do something when successfull) 

    }, 
    error: function (xhr, errStatus, thrownError) { 

     // RIGHT HERE, i want to use action,userSearchString,Docbase that were passed to Search.aspx 
     // Prefferably i would like to use the data as a whole object and pass it too LogException 

     $("#FindUsersModal").modal("hide") 
     LogException(errStatus, thrownError, "SearchUsersByInput", params); 
    } 

}) 

有人會在意我指向正確的方向嗎?

Thnx爲您的時間。

回答

1

爲什麼不創建數據作爲功能級別的對象,然後從錯誤回調訪問它?例如:

function foo(){ 

    var jsonData = { 
      action: 'GetUsers', 
      userSearchString: $("#txtUserSearchText").val(), 
      Docbase: docbase 
     } 

    $.ajax({ 
     type: "GET", 
     url: "Search.aspx", 
     data: jsonData, 
     success: function (data) { 

      .... (Do something when successfull) 

     }, 
     error: function (xhr, errStatus, thrownError) { 

      // RIGHT HERE, i want to use action,userSearchString,Docbase that were passed to Search.aspx 

      var something = jsonData.action;   

      $("#FindUsersModal").modal("hide") 
      LogException(errStatus, thrownError, "SearchUsersByInput", params); 
     } 

    }) 

} 
+0

跨我的腦海藏漢來了,應該是做的相當簡單。但我希望在某個地方錯過了一些jquery/javascript-trick/property ...(雖然指出它爲+1) – User999999

0

這裏的想法很簡單,只是存儲在功能範圍以外的變量數據,你可以用它在任何你在函數中需要它。

以下是你需要做什麼

var myData = { 
     action: 'GetUsers', 
     userSearchString: $("#txtUserSearchText").val(), 
     Docbase: docbase 
    } 

$.ajax({ 
    type: "GET", 
    url: "Search.aspx", 
    data: myData, 
    success: function (data) { 

     .... (Do something when successfull) 

    }, 
    error: function (xhr, errStatus, thrownError) { 

     console.log(myData); 
     //You can perform any action with myData here 
    } 

})