JsonResult не возвращается к вызову ajax

#c# #ajax #asp.net-mvc

#c# #ajax #asp.net-mvc

Вопрос:

Это мой контроллер

     [HttpPost]
    public JsonResult Index(parameters)
    {
       return Json(new { Status = "Success" }, JsonRequestBehavior.AllowGet);
    }
  

Это мой вызов AJax, который успешно запускает метод MVC.

     $.ajax({
            contentType: 'application/json',
            type: 'POST',
            url: "/Home/Index",
            data: data,
            success: function (result) {
                debugger
                if (result == "error") {
                    swal({ text: "No procesado", type: "warning" });
                }
                else {
                    swal({ text: "Correcto", type: "success" });
                }
            },
            error: function (jqXHR, textStatus, errorThrown) {
                console.log(textStatus, errorThrown);
            }
            });
  

Значение не возвращается к методу Ajax, результат остается в браузере, может быть, необходима какая-то настройка в visual studio?

Возврат в браузере

Комментарии:

1. Вы отправляете это действие, поэтому вам нужно пометить это действие с помощью [HttpPost] , в противном случае по умолчанию используется значение GET only .

2. Что вы подразумеваете под «не возвращается»? Что показывает ваш скриншот? Что показывает ваша консоль?

3. извините, я отредактировал это

4. Кодировщик в изображении является возвратом

5. Вы отправляете запрос ‘POST’ с помощью ajax и вашей функции, помеченной как [HttpPost], но возвращаете Json как JsonRequestBehavior. Разрешить получение. Измените тип: ‘POST’ на тип:’GET’ и отметьте свою функцию [HttpGet] вместо [HttpPost]