2013-04-20 2 views
6

MVC View에서 AJAX POST를하고 싶습니다. 보기에AJAX POST to MVC 컨트롤러 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 값을보기로 되돌려 놓아야합니까? –