【发布时间】:2023-03-30 19:42:01
【问题描述】:
我有一个rails 应用程序,它有一个页面,其中包含一个已部分ajaxed 的表。最初的目标是让它增加时间实体中的容量属性。下面是表格Image 的视觉外观。当您单击加号/减号按钮时,容量属性会使用 PUT 请求增加。您可以看到 show.html.erb Pastie 的代码。在第 82 行,您将看到我的 $.put。现在我的 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');
}});
我有一个 show.html.erb 页面,其中包含此 ajax_request_PUT 文件,方法是执行 <%=javascript_include_tag%>。将它包含在我的 show.html.erb 文件中后,我注意到我得到: PUT http://localhost:300/XXXX/xxx/show 401 Unauthorized 78ms after I click the "+" button- 我发现这意味着该页面正在尝试成为在您登录之前无法加载访问的内容。令我惊讶的是,这很奇怪。这是因为要使用此应用程序,您无论如何都必须登录。当我离开页面时,我被要求重新登录,我似乎无法确定它为什么这样做。我所知道的是,我还在终端中收到以下消息:WARNING: Can't verify CSRF token authenticity 我删除了<%=javascript_include_tag%>,发现这个问题消失了,但是我的表不再部分 ajaxed。有没有人遇到过类似的问题?
【问题讨论】:
标签: javascript jquery ajax ruby-on-rails-3 csrf