Tengo problemas con el AntiForgeryToken con ajax. Estoy usando ASP.NET MVC 3. Probé la solución en llamadas jQuery Ajax y Html.AntiForgeryToken () . Usando esa solución, el token ahora se pasa:
var data = { ... } // with token, key is '__RequestVerificationToken'
$.ajax({
type: "POST",
data: data,
datatype: "json",
traditional: true,
contentType: "application/json; charset=utf-8",
url: myURL,
success: function (response) {
...
},
error: function (response) {
...
}
});
Cuando elimino el [ValidateAntiForgeryToken]
atributo solo para ver si los datos (con el token) se pasan como parámetros al controlador, puedo ver que se pasan. Pero por alguna razón, el A required anti-forgery token was not supplied or was invalid.
mensaje sigue apareciendo cuando devuelvo el atributo.
¿Algunas ideas?
EDITAR
El antiforgerytoken se está generando dentro de un formulario, pero no estoy usando una acción de envío para enviarlo. En cambio, solo obtengo el valor del token usando jquery y luego intento publicarlo en ajax.
Aquí está el formulario que contiene el token y se encuentra en la página maestra superior:
<form id="__AjaxAntiForgeryForm" action="#" method="post">
@Html.AntiForgeryToken()
</form>