【发布时间】:2011-11-10 20:56:03
【问题描述】:
我有一个使用设计进行身份验证的 Rails 3.1 应用程序。我正在尝试通过 ajax 向 url 拨打电话。出于某种原因,我不断收到 401 Unauthorized access。我已经按照这里的教程http://henrik.nyh.se/2008/05/rails-authenticity-token-with-jquery 了解如何验证 jQuery 请求。请求的代码是
$.get('/chromosomes.json', {sequence_start: '10', sequence_end: '100'},
function(data){
alert(data)
}, 'json');
奇怪的是在我看到的服务器上
于 2011 年 11 月 10 日星期四 15:51:33 -0500 开始为 127.0.0.1 获取“/chromosomes.json?sequence_start=10&sequence_end=100&_=1320958293654” ChromosomesController#index 作为 JSON 处理 参数:{"sequence_start"=>"10", "_"=>"1320958293654", "sequence_end"=>"100"} 10ms内完成
在我的控制器中,我有:
before_filter :authenticate_user!
def index
respond_to do |format|
format.html
format.json { render :json => @chromosomes }
end
end
由于某种原因,真实性会话令牌没有传递给 Rails。如果我删除 authenticate_user!在过滤之前它工作正常!?很感谢任何形式的帮助。谢谢!
【问题讨论】:
-
respond_to do |format| format.html format.json { 渲染 :json => @chromosomes } 结束
-
nah - 您收到“未经授权”的响应 - 您需要向我们展示 before_filters 正在运行的内容。
-
控制器中运行的唯一前置过滤器是:before_filter :authenticate_user!
-
好的,不知道如何修复它,但该教程看起来很旧(2008 年)。这似乎是最近的:michaelhendrickx.com/…
-
谢谢,我也试过了,但我仍然遇到同样的身份验证问题。
标签: jquery ruby-on-rails ajax