我正在尝试通过以下方式执行手动 jQuery AJAX 请求:
$("#user_plan_id").change(function() {
$("#plan_container").load('/plans/' + this.value);
});
我的标题中包含“rails.js”文件和一个“<%= csrf_meta_tag %>”。
我从日志中看到请求正在到达服务器(尽管没有真实性令牌...... rails.js 甚至会这样做吗?),但响应是 302(找到)而不是 200,实际上没有数据得到呈现。
有任何想法吗?
编辑:我现在看到第一个请求重定向,并且正确的部分在重定向上呈现。但是,第二个响应的正文(在客户端)仍然是空的。我猜 jQuery 使用第一个响应并且没有为重定向设置监听器。我该如何解决这个问题?
另外,另一个注意事项:进行请求的页面是 HTTPS 页面。
这是我的日志所说的:
Started GET "/plans/221168073" for 127.0.0.1 at Tue Jun 15 01:24:06 -0400 2010
Processing by PlansController#show as HTML
Parameters: {"id"=>"221168073"}
DEPRECATION WARNING: Using #request_uri is deprecated. Use fullpath instead. (called from ensure_proper_protocol at /Users/ernestsurudo/Sites/vidfolia/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb:57)
Redirected to http://vidfolia.com/plans/221168073
Completed 302 Found in 1ms
事实证明,如果我关闭该页面的 SSL 要求,它就可以工作!不过,我仍然不知道为什么。所以我想我的问题是:解决方法是什么?