2011-03-19 39 views
0

我有一個使用OmniAuth與其他服務提供商連接的應用程序。從其他服務提供商處獲取json數據並將其導入數據庫

我的應用程序有用戶模型和任務模型,用戶有很多任務,任務屬於用戶。

用戶登錄到應用程序後,我將視圖重定向到任務列表索引。

我期待重定向時,jQuery將調用Ajax getJSON函數並從提供者獲取json數據,並將它們存儲到我的數據庫中。 我已經把下面的代碼到我的application.js

$.ajaxSetup({ 
    dataType: 'json', 
    beforeSend: function(xhr){ 
     xhr.setRequestHeader('Authorization', 'OAuth '+token); 
    }, 
    contentType: "application/json; charset=utf-8" 
}); 

我也有添加一個js文件名爲task.js,幷包括這與任務索引視圖。隨着在task.js

function GetTasks(){ 
    $.getJSON(url, function(data){ 
    console.log(data); 
    }); 
} 

$.ready(function(){ 
    GetTasks(); 
}); 

問題:看來我的$ .ajaxSetup設置加載任務索引視圖時從來沒有發生過。我應該如何修改讓我的想法發生? 非常感謝。
------- ------- UPDATE
我添加的代碼流進我的application_controller

after_filter :set_access_control_headers 

    def set_access_control_headers 
    headers['Access-Control-Allow-Origin']='*' 
    headers['Access-Control-Request-Method']='*' 
    end 
+0

你能發佈完整的源代碼(或至少更重要的代碼片段)以及如何調用一切嗎? (即你是否從document.ready塊中調用了$ .ajaxSetup,ect? – dmcnelis 2011-03-19 04:04:00

+0

Hello dmcnells,no我沒有在document.ready塊中輸入$ .ajaxSetup,但是我把它放到了我的application.js中,我在我的任務索引視圖中包含這個js文件。 – 2011-03-19 05:37:39

回答

0

我期待重定向時,jQuery將調用的Ajax功能的getJSON並從提供商獲得json數據,並將它們存儲到我的數據庫中。我已經把下面的代碼到我的application.js

我不太清楚是怎麼回事,但我認爲你正在嘗試做違反了Ajax請求的same source規則。出於安全原因,您只能向加載頁面的同一個域發出異步請求。如果不是這樣,請澄清你的問題。

+0

嗨,John,我已經更新了我的問題,不確定是否需要這些信息,謝謝。 – 2011-03-19 08:16:01

相關問題