我正在通過ajax調用通過twitter引導模式窗口更新我的應用程序中的數據。阿賈克斯代碼如下:401在Rails 3應用程序中調用.ajax方法時未經授權
$(document).ready(function(){
var link=$('#link_hash').val();
$("#update_link").click(function(){
console.log("I'm here");
$.ajax({
url: "profiles/update_link",
type: "POST",
dataType: "html",
data: {link: link,data: $('#link_hash').val() },
success: function(data) {
// some code
},
error: function(data1) {
// some code
}
});
});
});
我修改了route.rb文件,使其與我的控制器「update_link」方法相匹配。 在我的方法的代碼如下: -
def update_link
@link=Link.find_by_link(params[:link])
@tlink=Link.find_by_link(params[:data])
logger.info "=========kkkkkkkkkkkkkk=================================#{@link.inspect}"
logger.info "=========kkkkkkkkkkkkkk=================================#{@tlink.inspect}"
logger.info "=========kkkkkkkkkkkkkk=================================#{params.inspect}"
respond_to do |format|
if @tlink.nil?
@link.update_attributes(:link => params[:data])
...some code....
else
...some code...
end
end
end
end
所以在服務器日誌它顯示 -
Started POST "/profiles/update_link" for 127.0.0.1 at 2013-02-20 12:08:20 +0530
Processing by ProfilesController#update_link as HTML
Parameters: {"link"=>"9bfzjp", "data"=>"9bfzjpaaa"}
WARNING: Can't verify CSRF token authenticity
Completed 401 Unauthorized in 6ms
所以很明顯「logger.info」沒有顯示出來...現在搜索後我能解決警告,但仍然存在401 ...如何解決這個問題?
在此先感謝....
我試了兩個。當我在我的ajax調用中添加「header:」時仍然顯示401錯誤。但是,當我添加「skip_before_filter:verify_authenticity_token」它實際上是在做這項工作,但仍然在螢火蟲顯示「406不可接受」的錯誤。無論如何,這可能是我的ajax回調代碼中的問題。我正在研究它。謝謝你的幫助。 – Siddharth 2013-02-21 05:05:42