2011-06-19 16 views
12
$.ajax '/', 
    type: 'GET' 
    dataType: 'html' error: (jqXHR, textStatus, errorThrown) -> 
     $('body').append "AJAX Error: #{textStatus}" 
    success: (data, textStatus, jqXHR) -> 
     $('body').append "Successful AJAX call: #{data}" 

有什麼不對與上面的代碼,我不能把它編譯成JS
CoffeeScript中使用jQuery阿賈克斯

+1

-_- |||我找到了原因,它與「tab」和「space」混合,所以它不能工作 – magicshui

+0

不,我在網頁中使用coffeescript.js,而不是命令行,所以沒有出現,以及如何調試咖啡腳本? – magicshui

+1

使用'coffee-script.js'時,您應該會在瀏覽器的控制檯上看到編譯時錯誤。如果您的瀏覽器沒有控制檯,請抓住[Firebug Lite](http://getfirebug.com/firebuglite)書籤。 –

回答

26

編譯器給出了錯誤

Parse error on line 3: Unexpected 'IDENTIFIER' 

參照線

dataType: 'html' error: (jqXHR, textStatus, errorThrown) -> 

問題在於沒有逗號(或換行符) een 'html'error。這是固定的代碼:

$.ajax '/', 
    type: 'GET' 
    dataType: 'html' 
    error: (jqXHR, textStatus, errorThrown) -> 
     $('body').append "AJAX Error: #{textStatus}" 
    success: (data, textStatus, jqXHR) -> 
     $('body').append "Successful AJAX call: #{data}" 

我強烈建議使用帶有內置「Build」命令的編輯器,尤其是可以在所選文本上工作的編輯器。它使語法錯誤更容易確定。

+1

NetBeans是迄今爲止我喜歡免費IDE的編輯器之一。查看工具 - >插件以添加CoffeeScript插件,然後右鍵單擊您的.coffee文件並選擇CoffeeScript-> autocompile。無需安裝命令行工具。 –

+0

@trevor您是否建議編輯器使用特定的編譯系統?理想的崇高文字?目前我正在使用構建系統作爲框架的一部分。 – Alexis

+0

@Scoop如果您使用官方的[CoffeeScript tmbundle](https://github.com/jashkenas/coffee-script-tmbundle)與ST2,應該已經有一個適用於您的CoffeeScript的Build命令。 –