2013-08-04 34 views
2

我有這個簡單的調用:

$.getJSON(serviceAddress) 
    .done(function(result, status) { 
     bo.BusinessObject.DtosToaKoArray(result, resultList); 
    }) 
    .fail(function(result, status) { 
     logger.logError(result); 
    }) 
    .success(function (result, status) { 
     bo.BusinessObject.DtosToaKoArray(result, resultList); 
    }) 
    .error(function (result, status) { 
     logger.logError(result); 
    }); 

但沒有一個回調函數不調用。使用螢火蟲我檢查了HttpRequest成功並返回了一些Json。

我也試過使用$.ajax,但它也沒有幫助。

看來所有的回調都不起作用!

+1

所以沒有錯誤的Java類cript控制檯?爲什麼你同時使用'.fail()'和'.error()',以及'.done()'和'.success()'? – nnnnnn

+0

「並返回了一些Json」---是同一個域還是另一個? – zerkms

+3

所有應有的尊重,這幾乎肯定是觀察錯誤。其中一個回調*是*被調用,但是它調用的函數('bo.BusinessObject.whatever')工作不正常。 –

回答

4

(我認爲這實際上是一個答案。:-))

所有應有的尊重,這是幾乎可以肯定觀測誤差。回調之一是被調用,但隨後調用的函數(bo.BusinessObject.whatever)無法正常工作。

可以診斷,通過:

  1. 把斷點上的第一條語句中的每個回調在調試器(所有現代瀏覽器都有一個內置的調試器),

  2. ...或如果您願意加入一行在每次回調,例如開頭:

    .done(function() { 
        console.log("Done"); 
        // ... 
    }) 
    
+0

我有關於done()和fail()函數開始的斷點。之後,我把這個問題放在這裏! – mehrandvd

+0

@mehrandvd:在'$ .getJSON'語句中放置一個斷點,看它是否被命中。也許你在其他地方有另一個*'$ .getJSON',這是實際觸發的那個。底線:jQuery ***將***調用其中一個回調。 –

+0

幫助'console.log'。事實上,空函數的斷點似乎不起作用! – mehrandvd

相關問題