2013-03-24 56 views
0

我有以下的CoffeeScript:AJAX調用使用jQuery + CoffeeScript中不會產生正確

$(document).ready ->` 
     $.ajax 'http://www.omdbapi.com/?i=tt1285016', 
       type: 'GET' 
       dataType: 'json' 
       error: (jqXHR, textStatus, errorThrown) -> $('body').append "AJAX Error: #{textStatus}"   
       success: (data, textStatus, jqXHR) -> $('body').append "Successful AJAX call: #{data}" 

然而,這genrates下面的JavaScript不正確的看向我:

(function() { 
    $(document).ready(function() { 
    return $.ajax('http://www.omdbapi.com/?i=tt1285016'); 
    }); 

    ({ 
    type: 'GET', 
    dataType: 'html', 
    error: function(jqXHR, textStatus, errorThrown) { 
     return $('body').append("AJAX Error: " + textStatus); 
    }, 
    success: function(data, textStatus, jqXHR) { 
     return $('body').append("Successful AJAX call: " + data); 
    } 
    }); 

}).call(this); 

誰能告訴我哪裏出錯了?

感謝, 亞當

+1

您的代碼在coffeescript.org上正常工作(減去那個') – Ven 2013-03-24 17:50:59

回答

0

我無法編譯當前的代碼(CoffeeScript version 1.6.1),但如果你$(document).ready ->後刪除`象徵它編譯於

(function() { 

    $(document).ready(function() { 
    return $.ajax('http://www.omdbapi.com/?i=tt1285016', { 
     type: 'GET', 
     dataType: 'json', 
     error: function(jqXHR, textStatus, errorThrown) { 
     return $('body').append("AJAX Error: " + textStatus); 
     }, 
     success: function(data, textStatus, jqXHR) { 
     return $('body').append("Successful AJAX call: " + data); 
     } 
    }); 
    }); 

}).call(this); 

我不是確定CoffeeScript如何處理換行符,但我想你正在編譯一個文件Windows end-of-linesCRLF)在*nix系統上,並導致問題。

我說,因爲類似下面的代碼:

$(document).ready -> 

     $.ajax 'http://www.omdbapi.com/?i=tt1285016', 

     type: 'GET' 

     dataType: 'html' 

     error: (jqXHR, textStatus, errorThrown) -> $('body').append "AJAX Error: #{textStatus}" 

     success: (data, textStatus, jqXHR) -> $('body').append "Successful AJAX call: #{data}" 

編譯成一個你已經發布。 (請注意,在,之後的第3行有一個換行符)

+0

謝謝,最終成爲我的文本編輯器的問題, – adamjmarkham 2013-03-24 18:14:35