2012-02-16 9 views
0

私は、レールに部分的にajaxedを持つテーブルを含むページを持つアプリケーションを持っています。最初の目的は、時間エンティティで容量属性を増加させることです。以下は表Imageの外観です。プラス/マイナスボタンをクリックすると、PUT要求を使用して容量属性が増加します。 show.html.erb Pastieのコードを見ることができます。 82行目にmy $ .putが表示されます。私は今、私のajax_request_PUTため、次のコードを持っている:Ajaxファイルが競合し、自動的にログアウトする

function _ajax_request(url, data, callback, type, method) { 
    return jQuery.ajax({ 
     type: 'PUT', 
     url: "slot_days/show", 
     data: data, 
     success: function(result) 
     { 
      callback(); 
     } 
    }); 
} 

jQuery.extend({ 
    put: function(url, data, callback, type) { 
     return _ajax_request(url, data, callback, type, 'PUT'); 
}}); 

私は<%=javascript_include_tag%>をすることによって、このajax_request_PUTファイルが含まれてshow.html.erbページを持っています。これを私のshow.html.erbファイルに含めると、私は次のようになることに気付きました:PUT http://localhost:300/XXXX/xxx/show 401「+」ボタンをクリックした後の無許可の78ms - アクセスしようとしているページがあなたがログインするまでロードされてください。私の驚きは変です。これは、このアプリケーションを使用するためには、とにかくログインする必要があるからです。私がページから離れて移動するとき、私はなぜこれをやっているのか分からないように私は戻ってくるように要求されています。私が知っていることは、私の端末に次のようなメッセージも出てくることです。WARNING: Can't verify CSRF token authenticity<%=javascript_include_tag%>を削除しましたが、この問題は解消されましたが、私のテーブルは部分的にajaxされなくなりました。誰かに同じような種類の問題があったのですか?

答えて

0

私は同じ問題を抱えていました。これはjavascriptとMSIEでのみ発生しました。解決策は、ドキュメントの先頭または<body>タグ内でjavascriptを移動することですが、可能な限り最上位にしてください。

+0

ありがとう、私はapplication.html.erbを開いたばかりで、頭には<%= csrf_meta_tag%>があります。質問は今、それをそこに移して他の対立がないのは安全でしょうか? – David

+0

私はに入れようとしましたが、これもうまくいかなかった ''を試しました。 – David

+0

ブラウザのコンソールにjsエラーがありますか? – core1024

関連する問題