rjs不与IE合作

时间:2010-08-30 22:07:01

标签: internet-explorer rjs

我的代码:

# app/controllers/log_controller.rb

class LogController < ApplicationController
  def in
    @user = User.login(params[:login])
    respond_to do |format|
      format.js
    end
  end
end

# app/views/log/in.js.erb
redirect_to("/myprofile")

# public/javascript/application.js
function redirect_to(url) { location.href = url; }

在FF和Chrome以及Safari中,每个浏览器都运行良好。用户登录系统并重定向到她的个人资料,但在资源管理器中它要求下载文件!你知道,这个小黄条要求用户下载文件。我认为用文件把ajax命令误认为是......为什么?

1 个答案:

答案 0 :(得分:3)

听起来像是MIME类型的问题。这是一篇描述问题的帖子和解决方案:http://agilerails.wordpress.com/2009/05/27/ie-throws-file-download-security-warning-on-form-submit/

基本上,问题在于IE的请求标头。您必须使用MIME类型的text / html才能使其正常工作。有关它的更多信息,请参见this SO question

您有几个选择:

  • 按用户代理检测IE并按照here
  • 所述发送text / html
  • 在请求响应优先级列表
  • 中的format.html上方添加format.js

编辑:不太确定这是你想要的所有请求,因为你也在做AJAX,但是在最后一步,当你进行重定向时,你应该提供text / html MIME类型。