2013-04-20 7 views
6

MVCビューでAJAX POSTを実行します。ビューにAJAX POST to MVC Controller 302エラーを表示

$('#media-search').click(function() { 
    var data = { key: $('#search-query').val() }; 

    $.ajax({ 
     type: 'POST', 
     url: '/Builder/Search', 
     data: JSON.stringify(data), 
     dataType: 'json', 
     contentType: 'application/json; charset=utf-8', 
     success: function (data) { 
      $('.builder').empty(); 
       alert("Key Passed Successfully!!!"); 
     } 
    }); 
}); 

コントローラコード

[HttpPost] 
public ActionResult Search(string key) 
{ 
    return RedirectToAction("Simple", new { key=key }); 
} 

スクリプトコードしかし、AJAX POSTに私は302エラーが見つかりました

を取得しています:私は、次のように書いています

答えて

7

'302'レスポンスコードはリダイレクタですct。コントローラーの動作は明示的にRedirectToActionを返します。これは単に302を返します。このリダイレクト命令はブラウザではなくAJAX呼び出しで消費されるため、ブラウザをリダイレクトする場合は、次の操作を行う必要があります。

もしそうでなければ、コントローラからのリダイレクト命令よりも意味のある何かを返す必要があります。

+0

私は別のページにリダイレクトしたくありません。 MVCでそのコントローラのアクションからいくつかのデータを返すだけです。 –

+0

次に、別のURLに302リダイレクトを返すだけの 'RedirectToAction'を返すべきではありません。 –

+0

次に、Jsonの値をビューに戻すだけで何をすべきですか? –

関連する問題