繁体   English   中英

通过AJAX局部加载协议冲突

[英]Protocol-Conflict by loading Partial via AJAX

当我尝试通过AJAX渲染局部时,出现以下错误:

XMLHttpRequest cannot load https://www.domain.de/footer_info. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.domain.de' is therefore not allowed access. 

该协议似乎存在问题。 尝试通过https而不是http加载局部文件。 Chrome认为这是一个跨域请求(显然)。 所以我的问题是如何解决此错误。

这是我的AJAX通话:

$(document).ready(function() {

jQuery.ajax({
    url: "/footer_info",
    type: "GET",
    success: function(result){
        // ...
    },
    error: function(e){
        console.info("Error-msg: "+e.responseText);
    }
});

});

这是控制器方法:

def footer_info
respond_to do |wants|
  wants.js
end

结束

这是呈现部分内容的JS响应:

jQuery("#bottom_wrapper").html("<%= escape_javascript(render(:partial => 'partials/footer/footer')) %>");

所以我希望你能帮助我:(谢谢!

感谢@Max Williams! 这解决了我的问题: https : //stackoverflow.com/a/9523871/1542555

所以这是我修改后的控制器:

def footer_info
  headers['Access-Control-Allow-Origin'] = "*"
  respond_to do |wants|
    wants.js
  end
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM