我想在我的MVC视图中进行
AJAX POST.我写了以下内容:
视图中的脚本代码
$('#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找到了错误
解决方法
‘302’响应代码是重定向.您的控制器操作显式返回RedirectToAction,它只返回302.由于此重定向指令由AJAX调用消耗,而不是由浏览器直接使用,如果您希望重定向浏览器,则需要执行以下操作:
$.ajax({ type: 'POST',success: function (data) { if (data.redirect) { window.location.href = data.redirect; } $('.builder').empty(); alert("Key Passed Successfully!!!"); } });
如果没有,您将需要返回比控制器中的重定向指令更有意义的内容.