0

こんにちは、ashx の次の呼び出しを含む aspx ページ

<script type="text/javascript" src="/Handlers/MyRedirect.ashx">
</script>

MyRedirect の内部では、いくつかのハード ロジックを実行し、次のように自分の側の他のページにリダイレクトしようとします。

public class MyRedirect : HttpTaskAsyncHandler, IReadOnlySessionState
    {     
        public override async Task ProcessRequestAsync(HttpContext context)
        {            
          //some logic here with out any output
          //context.Response.ContentType = "application/x-javascript";
          context.Response.Redirect("/adminDashboard.aspx", false);
        }
}

しかし、Chrome では、エラー リソースがスクリプトとして解釈されましたが、MIME タイプ text/html で転送されました: What I do wrong ? それを修正する方法ありがとう?

4

1 に答える 1

1

リダイレクト先のページは、javascript を返し、適切な応答コンテンツ タイプ ヘッダーを設定する必要があります。あなたが示した例では、/adminDashboard.aspxJavaScriptではなくHTMLを返すと思われるWebFormにリダイレクトしているようです。または、javascript を返す場合、適切な Content-Type ヘッダーを に設定しませんtext/javascript

Chrome が不平を言うのはそのためです。タグのsrc属性を<script>、期待される正しいコンテンツ タイプを設定しないサーバー側ハンドラーに向けています。

したがって、このリダイレクトを実行する必要がある場合は、1 日の終わりに、リダイレクト先のページが有効な JavaScript を返し、Content-Type ヘッダーが に設定されていることを確認してくださいtext/javascriptNetworkこれは、ブラウザーから送信されたさまざまな HTTP 要求を分析するときに、タブで簡単に確認できます。

于 2012-12-07T11:49:17.337 に答える