I have an rails a application whereby it has a page that contains a table which has ajaxed partially. The initial aim is to have it increase the capacity attribute in a time entity. Below is a visual look of the table Image. When you click the plus/minus button the capacity attribute increases using a PUT request. Which you can see the code for the show.html.erb Pastie. On line 82 you will see my $.put. I now have the following code for my ajax_request_PUT:
function _ajax_request(url, data, callback, type, method) {
return jQuery.ajax({
type: 'PUT',
url: "slot_days/show",
data: data,
success: function(result)
{
callback();
}
});
}
jQuery.extend({
put: function(url, data, callback, type) {
return _ajax_request(url, data, callback, type, 'PUT');
}});
I have a show.html.erb page which includes this ajax_request_PUT file by doing <%=javascript_include_tag%>. Having included this into my show.html.erb file, I noticed that I get: PUT http://localhost:300/XXXX/xxx/show 401 Unauthorized 78ms after I click the “+” button- Which I have found out that it means that the page that is trying to be accessed cannot be loaded until you log in. Which to my surprise is weird. This is because in order to use this application you have to be logged in anyway. When I navigate away from the page I am requested to log back in which I cannot seem to identify why it is doing this. What I do know is that I also get the following message in my terminal: WARNING: Can't verify CSRF token authenticity I removed the <%=javascript_include_tag%> and found that this problem went away however my table was then no longer partially ajaxed. Has anyone out there had the same similar kind of problem?
I had the same problem and it was caused by javascript and only in MSIE. The solution is to move your javascript in the head of the document or inside the
<body>tag, but as top-level as plausible.