我正在使用Rails 3.1和AJAX来创建一些模型。
视图如下:
<%= link_to 'Vote', votes_path, :method => :post, :remote => true %>
控制器:
...
def create
...
respond_to do |format|
format.js { render :layout => false }
end
end
...
最后,.js.erb看起来像:
alert('Hi there!');
在Chrome,FF和Safari中,它按预期工作,创建模型并显示警报。在IE8中,它创建模型但不执行javascript。 我认为它是jquery-rails或其他东西的一个奇怪问题,因为使用Rails 3.0.9它运行良好。
谢谢!
Pd积。我也试过了format.js { render :layout => false, :content_type => "text/javascript" }
,但仍然无效。
答案 0 :(得分:1)
它是否也出现在其他版本的资源管理器中,较新版本的旧版本?
您是否在执行ajax调用或接收问题时调试了问题?你有任何错误报告吗?
您是否在布局中包含csrf_meta_tags?执行POST时,他们真的搞砸了。
http://apidock.com/rails/ActionView/Helpers/CsrfHelper/csrf_meta_tag
我建议您使用Internet Explorer 8调试器:
http://blogs.msdn.com/b/jscript/archive/2008/03/13/jscript-debugger-in-internet-explorer-8.aspx
答案 1 :(得分:0)
我刚刚找到解决方案调试jquery_ujs
远程调用。问题在于charset响应(我认为)。
出于某种原因,我必须明确指出:
format.js { render :layout => false, :content_type => "text/javascript; charset=UTF-8" }
请不要使用IE8:D