2011-06-22 6 views
0

私は、コントローラのメソッドがあります。私の見解では今ActionResult型に従ってコントローラーアクションを処理するにはどうすればよいですか?

public ActionResult(int audioId) 
{ 
    byte[] bytes = getAudio(audioId); 
    if (bytes != null) 
    { 
     return new FileContentResult(bytes, "audio/wav"); 
    } 
    else 
    { 
     return Json(new { success = false }); 
    } 
} 

を、それがコンテンツである場合(利用可能な場合)、私はそれが新しいウィンドウで開くようにし、それを再生するにはどのようなプラグインが開始されますしたいです。しかし、それが存在しない場合、私はそれがページに留まり、警告をポップアップしたい。

これを行うにはどうすればよいですか、まったく間違った方法でこの問題に近づいていますか?

+0

あなたは今まで、これを解決しました:

例えば

あなたが要求を行うためのjQueryを使用している場合、あなたはこのような何かをするだろうか?私は同じ問題を抱えています。 – Niklas

答えて

1

Jsonの結果を返すので、AJAXを使用してリクエストを行っているようです。

サーバー側の技術とは無関係に、すべてのサーバーの応答には、目的の結果を照会できる「Content-Type」ヘッダーがあります。

$.get('PLACE_URL_HERE', function (data, status, jqXHR) { 
    var type = jqXHR.getResponseHeader('Content-Type'); 

    if (type === 'application/json') 
    { 
     // Show warning 
    } 
    else if (type == 'audio/wav') 
    { 
     // Open new window 
    } 
}); 
関連する問題