2017-07-27 71 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