#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]