How can i supply an AntiForgeryToken when posting JSON data using $.ajax ?
- by HerbalMart
I am using the code as below of this post:
First i will an fill array variable with the correct values for the controller action.
Using the code below i think it should be very straigtforward by just adding the following line to the javascript:
data["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val();
The <%= Html.AntiForgeryToken() %> is at his right place and the action has a [ValidateAntiForgeryToken]
But my controller action keeps saying: "Invalid forgery token" 
What am i doing wrong here?
Code
data["fiscalyear"] = fiscalyear;
data["subgeography"] = $(list).parent().find('input[name=subGeography]').val();
data["territories"] = new Array();
$(items).each(function() {
    data["territories"].push($(this).find('input[name=territory]').val());
});
    if (url != null) {
        $.ajax(
        {
            dataType: 'JSON',
            contentType: 'application/json; charset=utf-8',
            url: url,
            type: 'POST',
            context: document.body,
            data: JSON.stringify(data),
            success: function() { refresh(); }
        });
    }