Jquery post authenticity_token is not sent

I have installed jquery-ujs driver and include jquery script in my
view.

In my view I have the following function

$(function () {
$(’#alert’).click(function () {
$.ajax({
type: “POST”,
data: ({ lat: this.getAttribute(‘data-lat’), lon:
22.3908355 }),
url: ‘/map/setc’
//dataType: ‘script’
});
return false;
})
});

but during the post authenticity_token is not send.

Authenticity token is only send with form_tag.
Is there anyway to use jQuery.ajaxSetup in order to append to the data
the authenticity token?

On 5 Óåðô, 21:25, Manos [email protected] wrote:

I have installed jquery-ujs driver and include jquery script in my
view.

In my view I have the following function

$(function () {
$(‘#alert’).click(function () {
$.ajax({
type: “POST”,
data: ({ lat: this.getAttribute(‘data-lat’), lon:
22.3908355 }),
url: ‘/map/setc’
//dataType: ‘script’
});
return false;
})
});

but during the post authenticity_token is not send.

Authenticity token is only send with form_tag.
Is there anyway to use jQuery.ajaxSetup in order to append to the data
the authenticity token?

I have found the solution according to the post
http://henrik.nyh.se/2008/05/rails-authenticity-token-with-jquery
I included in my application.js
the following

$(document).ajaxSend(function(event, request, settings) {
if (typeof(AUTH_TOKEN) == “undefined”) return;
// settings.data is a serialized string like “foo=bar&baz=boink” (or
null)
settings.data = settings.data || “”;
settings.data += (settings.data ? “&” : “”) + “authenticity_token=”

  • encodeURIComponent(AUTH_TOKEN);
    });

so every time an ajax request is made authenticity_token is included
in the request