2016-12-25 67 views
0

這是相當新穎的。我有一個名爲「getInformation」的函數,其中包含3個Ajax函數。當jquery中的if語句失敗時調用函數

當if語句在這裏顯示的成功函數失敗時,我想調用/觸發「getInformation」函數,但我不知道使用哪個選擇器(或者如果我甚至需要選擇器)。

success: function(serverResponse){ 
      if(serverResponse.length>1){ 
       try{ 
        var searchResultsHTML=''; 
        console.log(serverResponse); 

        $("#searchResults").append(searchResultsHTML); 
       }catch (ex) { 
         console.error(ex); 
         $("#searchResults").text("An error occurred processing the data"); 
       } 
      } else{ 
        //run the other ajax calls 
        $.fn.getInfortmation(); 
      } 
+0

'getInformation'函數與元素操作函數或普通函數相關。如果是正常的函數,只需使用'callback'方法或jquery'promise'方法。或者也可以在這裏添加'getInformation'函數,以便理解。 –

+0

那什麼不起作用?您已經在那裏調用了該函數,但名稱拼寫錯誤。 – Pointy

+0

我不知道如何聲明函數,但我不認爲你需要'$ .fn.',只需調用'getInformation()' – Taki

回答

0

我相信你可能會誤解在jQuery中的$的含義。這實際上僅僅是一個類別的縮寫或別名,jQuery是一個包含庫中所有函數的類(或某個JS等價的持有者)。

僅僅因爲您正在使用jQuery回調(success處理程序)編寫代碼,並不意味着您只需要使用jQuery函數。你可以自由使用你自己的代碼,我相信getInformation是你定義的函數之一。

爲了解決這個問題,調用函數沒有jQuery的$fn.getInformation。我假設你的函數在一個不同的對象fn中。如果不是,請刪除fn

就選擇器而言,這是一個不同的話題。這些用於在代碼中的頁面上輕鬆選擇和使用HTML元素。 jQuery對此非常有用,但並非所有的jQuery函數都涉及到選擇器/ DOM。例如,在這種情況下,看起來你可能正在做一些AJAX,它直接與操縱頁面元素沒有任何關係,而是關於將數據傳遞給服務器。