我有rails应用程序,我在页面加载后使用Ajax加载注释。
class CommentsController < ApplicationController
respond_to :js
def index
@comments = Comments.all
respond_with @comments
end
end
它按预期工作。但是bingbot正试图访问它导致的网址
在评论中发生了一个ActionController :: InvalidCrossOriginRequest #index: 安全警告:另一个站点上的嵌入式标记请求受保护的JavaScript。如果您知道自己在做什么,请继续并禁用此操作的伪造保护,以允许跨源JavaScript嵌入。
就像所有网址一样只响应js格式。
我知道rack-cors,但是它允许跨侧脚本访问,但不是这样。
应用/视图/评论/ index.js.erb的
$('.comments_container').html("<%=j render 'comments' %>");
comments.js
jQuery(function() {
return $.ajax({
url: $('.comments_container').data('url')({
dataType: "script"
})
});
});
答案 0 :(得分:0)
假设您需要一些CORS(跨源资源共享)的帮助,您将收到错误,因为您的CORS策略默认为&#34;拒绝&#34;每次直接XHR访问。
您可以使用rack-cors gem https://github.com/cyu/rack-cors来避免这种情况。希望这有帮助!