2012-07-25 50 views
0

說我在我的js.erb文件中有這樣的東西。ajax調用中的語法錯誤/ JavaScript沒有出現在rails應用程序中

$(div_id + <%= @line_num %>).html("<%=j render :partial => "quant_change_form" %>"); 

這工作正常,但如果我有喜歡說語法錯誤(即方法不存在):

$(div_id + <%= @line_num %>).htmlabcd("<%=j render :partial => "quant_change_form" %>"); 

我沒有得到我的編輯語法錯誤(我使用RubyMine),並且我在Firebug中沒有遇到錯誤。沒有告訴我爲什麼,它根本行不通。這不是推薦的方式,你應該在軌道上做ajax調用嗎?

+0

我不希望像.htmlabcd()的錯誤在源代碼編輯器或IDE加以強調,因爲它不是一個語法錯誤,但是當您嘗試運行該代碼時,我期望在瀏覽器中出現運行時錯誤。我沒有Firebug,但在內置的FF控制檯中,當我嘗試類似以下內容時,出現錯誤「$(div_id + 1).htmlabcd不是函數」:http://jsfiddle.net/NAEn6(我不得不點擊FF控制檯中的「JS」按鈕,因爲默認情況下它只記錄「Net」活動 - 確保Firebug中的等效設置處於打開狀態)。 – nnnnnn 2012-07-26 00:07:16

+0

這似乎解決了我的問題:http://coderwall.com/p/yujrja但我無法使用他的故障排除方法,因爲我加載了部分 – yiinewbie 2012-07-26 00:11:37

+0

CoderWall發佈說,異步代碼不會顯示錯誤日誌,但事實並非如此。至少,我沒有問題在控制檯中獲取asnyc函數的錯誤。瀏覽器不知道或不關心服務器端代碼發生了什麼。如果Firebug無法爲您工作,請嘗試使用另一個調試工具,例如Chrome的內置工具。 – nnnnnn 2012-07-26 00:22:15

回答

0
  1. 因爲語法是有效的
  2. 你沒有得到一個語法錯誤。如果你沒有得到Firebug的錯誤就意味着不執行你的代碼和htmlabcd是一個有效的方法名。
+0

沒關係,所以它不是一個語法錯誤。但它是一個運行時錯誤,應該出現在螢火蟲中。但即使有語法錯誤,如忽略分號或放入一組隨機字符,我什麼都沒有! – yiinewbie 2012-07-26 00:05:36

+0

@yiinewbie作爲分號是可選的,如果你忽略它們,它不會產生語法錯誤。也許你的JavaScript文件沒有加載? – 2012-07-26 00:08:25

+0

JavaScript文件肯定加載,因爲當我刪除錯誤,它工作正常。我相信這個問題與使用rails製作ajax請求的方式有關。 – yiinewbie 2012-07-26 00:11:08

相關問題