I don't want to enable CSRF filter for all my requests. But want to use it in my form. So I use CSRFAddToken and CSRFCheck like this in controller:
def change(lng: String) = checkToken {
Action { implicit request =>
registerForm.bindFromRequest.fold(
{ formWithErrors =>
Ok(Json.toJson(JsObject(Map("status" -> JsString("error"), "message" -> JsString(messagesApi.translate("register.all_fields_required", Seq()).get)))))
},
value =>
[Code was cutted]
)
}
}
def getCurrent(lng: String) = addToken {
Action { implicit request =>
Ok(views.html.profile_edit_popup())
}
}
In view I just use
@CSRF.formField
to add CSRF to form Then I get getCurrent action using Ajax and getting html for form and on save I post it using Ajax to change action. The problem is I'm getting
CSRF token check failed
error on submit. Even so I see CSRF hidden field in the form. What I'm doing wrong?