jquery応答に対応する認証トークンを追加したにもかかわらず、InvalidAuthenticityTokenを取得しています。コードにエラーがありますか、それとも別の根本的な問題がありますか?コメントありがとうございます。ありがとう!
使用:Rails 2.3.3、Ruby 1.8.6、Webrick、JQuery 1.3.2
layout / networks.html.haml
= token_tag
= javascript_tag "window.AUTH_TOKEN = '#{form_authenticity_token}';"
javascripts / application.js
$(document).ready(function() {
// All non-GET requests will add the authenticity token
// if not already present in the data packet
$(document).ajaxSend(function(event, request, settings) {
if (typeof(window.AUTH_TOKEN) == "undefined") return;
// <acronym title="Internet Explorer 6">IE6</acronym> fix for http://dev.jquery.com/ticket/3155
if (settings.type == 'GET' || settings.type == 'get') return;
settings.data = settings.data || "";
settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(window.AUTH_TOKEN);
});
ajaxLinks();
});
レンダリングされたhtmlには次のものがあります。
<input name="authenticity_token" type="hidden" value="ZaXj3ACQl+8JKtaDAUoxtSsqzEagSPyHbS25ai9qWCw=" />
<script type="text/javascript">
//<![CDATA[
window.AUTH_TOKEN = 'ZaXj3ACQl+8JKtaDAUoxtSsqzEagSPyHbS25ai9qWCw=';
//]]>
</script>
ブレークポイントを通過すると、window.AUTH_TOKENが設定されていることが示されます。これを解決するための助けは素晴らしいでしょう。