Ruby on rails CORS飞行前选项是否应请求返回200 OK?
我使用rack cors中间件从一个站点向我的rails应用程序发出跨域请求(尽管我不认为这个问题是rack cors特有的)。当我用firebug检查控制台输出时,我注意到只有一个请求发出,即POST请求。期权申请是秘密提出的吗 类似地,当我检查服务器日志时,我看到Ruby on rails CORS飞行前选项是否应请求返回200 OK?,ruby-on-rails,cross-domain,cors,Ruby On Rails,Cross Domain,Cors,我使用rack cors中间件从一个站点向我的rails应用程序发出跨域请求(尽管我不认为这个问题是rack cors特有的)。当我用firebug检查控制台输出时,我注意到只有一个请求发出,即POST请求。期权申请是秘密提出的吗 类似地,当我检查服务器日志时,我看到 2013-01-08 16:06:18-0800时127.0.0.1的“澳大利亚邮政api连接”启动选项 但没有相应的 在1441ms内完成200 OK(视图:85.2ms;活动记录:0.0ms) 这是正常的,还是意味着选项请求没
2013-01-08 16:06:18-0800时127.0.0.1的“澳大利亚邮政api连接”启动选项
但没有相应的
在1441ms内完成200 OK(视图:85.2ms;活动记录:0.0ms)
这是正常的,还是意味着选项请求没有运行到完成?我应该从CORS飞行前选项请求中得到什么样的响应?CORS选项响应应该返回200s,同时返回各种访问控制-*
标题
我的猜测是,您在rails日志中没有将其视为“Completed 200”,因为它发生在rails框架中日志记录之前的某个点上的机架中间件中
您可以在Firebug/Chrome的开发者工具网络面板中检查请求/响应标题,以验证一切是否正常进行。我不认为Firebug隐藏了选项请求,但如果返回Access Control Max Age
,则有可能缓存了选项请求的结果。。谢谢我现在觉得自己更聪明了(不幸的是,这意味着这不是我问题的原因…期待着这些标签会有更多问题!)。