2013-09-30 25 views
0

我正在尋找一些調試backbone.js的指導。我遵循Daily.js骨幹教程,並在第9周後遇到了錯誤(http://dailyjs.com/2013/01/24/backbone-tutorial-9/)。調試Backbone.js

這是錯誤我

 
[22:47:29.339] "calling request execute" 
[22:47:29.423] GET http://localhost:8080/img/glyphicons-halflings.png [HTTP/1.1 304 Not Modified 1ms] 
[22:47:29.424] POST https://content.googleapis.com/rpc?key=xxxxxxx [HTTP/1.1 200 OK 168ms] 
[22:47:29.546] ReferenceError: id is not defined @ http://localhost:8080/js/lib/underscore.js:1209 
[22:47:29.543] "calling options success" 

下面是與相應的控制檯記錄的調用代碼:

 
    Backbone.gapiRequest = function(request, method, model, options) { 
    var result; 
    console.log("calling request execute") 
    request.execute(function(res) { 
     if (res.error) { 
     if (options.error) options.error(res); 
     } else if (options.success) { 
     if (res.items) { 
      result = res.items; 
     } else { 
      result = res; 
     } 
     console.log("calling options success"); 
     options.success(model, result, request); 
     } 
     console.log("gapiRequest") 
    }); 
    }; 

要的東西目前扔我:

  1. 爲什麼上次日誌(gapiRequest)沒有被顯示。
  2. 爲什麼在兩個控制檯日誌之間發生錯誤,即使代碼中沒有引用id,或者就我所見,任何外部庫都是如此。

如果有人知道可能發生的事情會很棒,那麼關於如何調試的信息也會非常好。可以在當前Web瀏覽器中生成堆棧跟蹤?

TIA, 馬特

回答

2
  1. 您的腳本崩潰,如果你看的時間戳:

    [22:47:29.546] ReferenceError: id is not defined @ http://localhost:8080/js/lib/underscore.js:1209 
    [22:47:29.543] "calling options success" 
    

    你會看到"calling options success"ReferenceError以前也發生過。這意味着你的客戶端收到的結果,但是在渲染模板(我猜),可能是因爲你的腳本崩潰:在你的下劃線

  2. 通過判斷在異常發生的庫(underscore.js)你可能參考id某處模板。在您的模板文件中尋找類似<%= id%><% id%>的內容。

+0

現在看起來很明顯:-)我會檢查模板謝謝。 – Matt

+0

這使我挺直,所以我將它標記爲答案。我不知道爲什麼細節,但它看起來像模型沒有被填充。所以{{id}}是有效的,只是沒有任何內容......半分辨率是將options.success調用恢復到更改狀態。但仍然要找出原因。 – Matt