首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过AJAX加载部分的协议冲突

通过AJAX加载部分的协议冲突
EN

Stack Overflow用户
提问于 2014-02-24 23:09:12
回答 1查看 68关注 0票数 0

当我试图通过AJAX渲染一个部分参数时,我得到了以下错误:

代码语言:javascript
复制
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-Call:

代码语言:javascript
复制
$(document).ready(function() {

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

});

下面是Controller-method:

代码语言:javascript
复制
def footer_info
respond_to do |wants|
  wants.js
end

结束

这里是呈现部分的JS-response:

代码语言:javascript
复制
jQuery("#bottom_wrapper").html("<%= escape_javascript(render(:partial => 'partials/footer/footer')) %>");

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

EN

回答 1

Stack Overflow用户

发布于 2014-02-24 23:44:42

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

下面是我修改后的控制器:

代码语言:javascript
复制
def footer_info
  headers['Access-Control-Allow-Origin'] = "*"
  respond_to do |wants|
    wants.js
  end
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21991490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档