Ajax文件冲突,自动注销
我有一个rails应用程序,它有一个页面,其中包含一个部分ajax的表格。最初的目的是让它增加时间实体的容量属性。下面是表格的视觉外观图片。当您单击加号/减号按钮时,容量属性会使用 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 页面,其中通过执行 <%=javascript_include_tag%>
包含此 ajax_request_PUT 文件。将其包含到我的 show.html.erb 文件中后,我注意到我得到: PUT http://localhost: 300/XXXX/xxx/show 401 Unauthorized 78ms after I click the “+” 按钮 - 我发现这意味着在您登录之前无法加载正在尝试访问的页面。我的惊讶很奇怪。这是因为为了使用此应用程序,您必须登录。当我离开该页面时,我被要求重新登录,但我似乎无法确定它为什么这样做。我所知道的是,我还在终端中收到以下消息:警告:无法验证 CSRF 令牌真实性
我删除了 <%=javascript_include_tag%>
并发现这个问题消失了,但是我的桌子不再部分倾斜。有没有人遇到过同样类似的问题?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我遇到了同样的问题,它是由 javascript 引起的,并且仅在 MSIE 中。解决方案是将 JavaScript 移至文档头部或
标记内,但尽可能移至顶层。
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.