2017-07-27 70 views
-1

使用ajax請求獲取來自rails控制器操作的響應時,我遇到了一些奇怪的行爲。向控制器獲取重定向的Ajax請求

$.ajax({ 
    type: 'GET', 
    url: '/notifications' 
}); 
def index 
    respond_to do |format| 
     format.html { redirect_to root_url, alert: 'Page not accessible' } 
     format.js 
    end 
end 

因此,使用與軌remote: true選項請求時,該respond_to代碼塊工作正常,但隨着AJAX調用它只是將請求重定向到root_url

ajax請求的格式與js不同嗎?


即使在ajax調用中指定dataType: 'text/javascript',也沒有辦法。

回答

1

嘗試

$.ajax({ 
     type: "GET", 
     dataType: "json", 
     url: "/notifications" 
    }); 

$.get('/notifications', function(data) { 
    //do something 
}); 
+0

你的第一個建議不會導致服務器將請求重定向!仍然通過指定'json'作爲數據類型,返回的JavaScript是無效的(作爲json),我不能通過成功回調執行它。 – jonhue