1

私のコード:

# 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 の順序を間違えていると思いますが...なぜですか?

4

1 に答える 1

3

MIMEタイプの問題のように聞こえます。問題と解決策を説明する投稿は次のとおりです:http://agilerails.wordpress.com/2009/05/27/ie-throws-file-download-security-warning-on-form-submit/

基本的に、問題はIEのリクエストヘッダーにあります。それを機能させるには、MIMEタイプのtext/htmlを使用する必要があります。このSOの質問でそれについてのより多くの情報。

いくつかのオプションがあります:

編集:AJAXも実行しているため、これがすべてのリクエストに必要なものかどうかはわかりませんが、最後のステップでリダイレクトを行うときに、text /htmlMIMEタイプを提供する必要があります。

于 2010-08-30T22:12:33.200 に答える