2012-02-04 8 views
1
$.ajaxSetup({ 
     beforeSend:function(xhr, settings){ 
      console.log(xhr); 
      // Here, I want to set csrf token to both POST or GET parameters. 
     } 
    }); 

GETの場合は、疑問符に追加してください。それが投稿の場合は、オブジェクトに拡張します。XHRリクエストがあるたびに、パラメータとして「csrf」を設定するためにJQuery AjaxSetupを使用するにはどうすればよいですか?

私がdata: {}を使用しない理由は、Backbone.js 0.5がデータを上書きし、csrfが追加されないためです。

答えて

1

以下の解決策を試しましたか?パラメータはで説明したようにあなたは、バックボーン同期メソッドをオーバーライドすることができますので、この1

$.ajaxSetup({ 
    beforeSend: function(xhr, settings) { 
     switch (settings.type) { 
      case "GET": settings.url += "&csrf=1"; break; 
      case "POST": settings.data += "&csrf=1"; break; 
     } 
    } 
}) 
+0

はい私はそれを試しました。バックボーンがそれを覆うことを除いて – TIMEX

+0

それでは、私の2番目の解決策を試してみてください。 – Andreas

1

で行くきた要求は

$.ajaxSetup({ 
    data: { 
     csrf: 1 
    } 
}) 

編集
を送信取得する直前にjqueryので追加する必要がありますBackbone and Rails Forgery Protection。 github hereにパッケージされています。

関連する問題