加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用AJAX请求设计用户登录.轨道3.1

发布时间:2020-12-16 21:49:03 所属栏目:百科 来源:网络整理
导读:我有一个控制器,它使用 AJAX for CRUD,但是当我点击我的一个远程链接(例如删除),我看到rails服务器已经决定登录并重定向我.服务器日志的检查表明它无法验证CSRF真实性.如何在我的请求中包含CSRF令牌? 运行: – Rails 3.1 – 设计1.4.4 – jquery-rails 1.0
我有一个控制器,它使用 AJAX for CRUD,但是当我点击我的一个远程链接(例如删除),我看到rails服务器已经决定登录并重定向我.服务器日志的检查表明它无法验证CSRF真实性.如何在我的请求中包含CSRF令牌?

运行:
– Rails 3.1
– 设计1.4.4
– jquery-rails 1.0.13

相关控制器操作:

def destroy
     @article = Article.find(params[:id])
      if @article.destroy
        flash[:notice] = "Article deleted."
        respond_to do |format|
        format.html{redirect_to articles_path}
        format.js{}
      end
      else
        flash[:error] = "Try Again."
        redirect_to :back
      end

布局/ application.html.erb

<head>
    <title><%= content_for?(:title) ? yield(:title) : "Untitled" %></title>
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap-1.1.1.min.css>
    <%= stylesheet_link_tag "application" %>
    <%= javascript_include_tag :defaults %>
   <script type="text/javascript">jQuery.ajaxSetup({ beforeSend: function (xhr) { xhr.setRequestHeader("Accept","text/javascript"); } });</script>
    <%= csrf_meta_tag %>
    <%= yield(:head) %>
  </head>

提前致谢.

解决方法

Rails 3.1使用gem’jquery-rails’,它希望你在你的application.js文件中有这个:
//= require jquery
//= require jquery_ujs

我忘记了jquery_ujs,并且和你一样遇到了同样的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读