asp.net-mvc – AJAX POST到MVC Controller显示302错误

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – AJAX POST到MVC Controller显示302错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的MVC视图中进行 AJAX POST.我写了以下内容

视图中的脚本代码

  1. $('#media-search').click(function () {
  2. var data = { key: $('#search-query').val() };
  3.  
  4. $.ajax({
  5. type: 'POST',url: '/Builder/Search',data: JSON.stringify(data),dataType: 'json',contentType: 'application/json; charset=utf-8',success: function (data) {
  6. $('.builder').empty();
  7. alert("Key Passed Successfully!!!");
  8. }
  9. });
  10. });

控制器代码

  1. [HttpPost]
  2. public ActionResult Search(string key)
  3. {
  4. return RedirectToAction("Simple",new { key=key });
  5. }

但是在AJAX POST上,我发现302找到了错误

解决方法

‘302’响应代码重定向.您的控制器操作显式返回RedirectToAction,它只返回302.由于此重定向指令由AJAX调用消耗,而不是由浏览器直接使用,如果您希望重定向浏览器,则需要执行以下操作:
  1. $.ajax({
  2. type: 'POST',success: function (data) {
  3. if (data.redirect) {
  4. window.location.href = data.redirect;
  5. }
  6. $('.builder').empty();
  7. alert("Key Passed Successfully!!!");
  8. }
  9. });

如果没有,您将需要返回比控制器中的重定向指令更有意义的内容.

猜你在找的asp.Net相关文章