2012-12-19 47 views
0

我正在使用ddslick jQuery下拉插件與我的Rails應用程序一起使用。Ajax響應似乎正在丟失

在廠景,我有

$('#challenges_dropdown').ddslick({ 
    <snipped> 
    onSelected: function (data) { 
    $.ajax({ 
     url: "/load_data", 
     type: "GET", 
     data: {"id": data.selectedData.value} 
    }); 
    } 
}); 

即,我讓我的控制器load_data通話。控制器正確,然後接收這個結尾,使得呼叫呈現一個單獨的視圖

render "data.js" 

這是執行腳本更新我原來的觀點的一些元素一個.js視圖。出於某種原因,這個腳本片段只是沒有運行。

我很困惑。當我使用data-remote =「true」的常規鏈接時,整個過程完美無缺。但是,當我進行AJAX調用時,它會失敗。

+4

我看你調用Ajax,但你從來沒有做過任何反應。 –

+0

是的,通常你會有一些東西連接到ajax調用的成功來處理響應。縮小問題的一個方法是在瀏覽器中點擊F12並切換到網絡選項卡,激活點擊,然後查看帖子並鑽入響應。您可以查看並查看響應是否有錯誤,並且控制檯/ javascript錯誤將指示您的代碼中是否存在一些JavaScript錯誤。大多數瀏覽器都有相當不錯的調試工具,大部分都在F12下。 – AaronLS

+0

非常感謝您的建議!我編輯了我的問題 - 你會發現基本上,渲染髮生在.js文件中。我如何確保基本上我的ajax調用的響應應該執行? –

回答

1

基本上,我需要指定AJAX調用數據類型使來自AJAX調用的響應會被視爲一個腳本,從而執行:

$('#challenges_dropdown').ddslick({ 
    <snipped> 
    onSelected: function (data) { 
    $.ajax({ 
     url: "/load_data", 
     type: "GET", 
     dataType: "script", 
     data: {"id": data.selectedData.value} 
    }); 
    } 
}); 
相關問題