【问题标题】:grape ruby headers request via ajax call to a different domain通过 ajax 调用不同域的葡萄 ruby​​ 标头请求
【发布时间】:2014-08-07 09:04:01
【问题描述】:

所以我正在使用 ruby​​ 的葡萄创建一个 API,并通过 http-headers 发送身份验证。

我的 ajax 调用:

$.ajax({
  type: "GET",
  url: "some_url.com",
  headers: {"auth": my_auth},
  success: function(data){console.log(data})    
})

我的葡萄 API::Root

....
before do
  puts "Hello World"
  header['Access-Control-Allow-Origin'] = '*'         
  header['Access-Control-Allow-Headers'] = "*"
end

有趣的是,如果我在没有标头属性的情况下发送它,我的 ajax 调用是有效的。 我也尝试过将 beforeSend 与 request.setRequestHeader 一起使用,但它仍然不起作用。但是,当我附加标头属性时,甚至没有在控制台中看到“Hello World”。

这是一个错字,对不起。

【问题讨论】:

  • 您是否检查了浏览器的 JavaScript 控制台以查看那里是否报告了错误消息?
  • 啊,是的,废话,我没有注意到邮件上附加了标头,它会首先向未处理的“some_url.com”发出 OPTIONS 请求。所以是的,我所做的只是为选项“[.*]”添加一个路由,它可以处理任何事情,但无论如何什么也没做。不知道什么是最好的做法。

标签: jquery ruby ajax grape


【解决方案1】:

我认为您需要在应用程序中启用 CORS。

您可以使用 rake-cors gem (https://github.com/cyu/rack-cors)

您可以在这里查看如何与葡萄一起使用:https://github.com/intridea/grape#cors

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 2015-06-13
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多