В моем приложении. NET Core (2.2) MVC, я делаю get
запрос к моему контроллеру с пользовательским вводом, используя ajax.
Вот код:
$.ajax({
type: 'GET',
url: "/BuildSheetsArea/TesterParameters/GetMassEditing",
data: { 'ChangeTypeId': ChangeTypeId, 'param': param, 'ParameterValue': ParameterValue },
dataType: 'json',
success: function (data) {
alert('success');
console.log(data);
},
error: function (emp) {
alert('error');
}
});
Я получил удар по своему контроллеру, и мой контроллер возвращает результат.
Вот мой код контроллера :
[HttpGet]
public System.Web.Mvc.JsonResult GetMassEditing(string ChangeTypeId, string param, string ParameterValue = "")
{
List<TesterParameterMassEditingViewModel> finalList = new List<TesterParameterMassEditingViewModel>();
// Code to perform necessary action
return new System.Web.Mvc.JsonResult { Data = finalList, JsonRequestBehavior = System.Web.Mvc.JsonRequestBehavior.AllowGet };
}
Вот скриншот, где контроллер успешно возвращает результат
НО при успехе Я ничего не получаю на мой взгляд. Как вы видите из моего ajax звонка при успешном выполнении, я пытаюсь записать данные с контроллера на консоль, но после возврата данных контроллером ничего не происходит. Он никогда не возвращается к моей ajax функции успеха.
Я что-то упустил? Пожалуйста, помогите.
Я использую. NET Core 2.2 и Entity Framework Core 2.2.6
РЕДАКТИРОВАТЬ: Добавление скриншота результатов вкладки сети здесь
EDIT2: После того, как @ Рена предложила мне изменить свой код. но теперь у меня возникла новая проблема. От моего контроллера, когда я пытаюсь выполнить запрос к БД, любой ретранслятор пытается передать объект, мой запрос переходит в состояние ожидания. Объяснение ниже. вот мой запрос AXAJ:
$.ajax({
type: 'POST',
url: "/BuildSheetsArea/TesterParameters/GetMassEditing",
data: {'ChangeTypeId': ChangeTypeId, 'param': param, 'ParameterValue': ParameterValue },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
debugger;
alert('success');
console.log(data);
},
error: function (emp) {
alert('error');
},
});
});
А вот код моего контроллера:
[HttpPost]
public async Task<JsonResult> GetMassEditing(string ChangeTypeId, string param, string ParameterValue)
{
List<TesterParameter> deviceList = await _context.TesterParameters.ToListAsync();
string val = "See from console";
return Json(deviceList);
}
В списке моего устройства 120 объектов. Этот случай в моей вкладке сети в браузере я получаю это. Мой первый запрос находится в состоянии ожидания, и я ничего не получаю в моем ajax методе успеха.
Но если я не делаю, любой запрос БД и просто вернуть строку, она отлично работает
[HttpPost]
public async Task<JsonResult> GetMassEditing(string ChangeTypeId, string param, string ParameterValue)
{
string val = "See from console";
return Json(val);
}
В 3-м случае, если я делаю только запрос БД, но возвращаю простую строку, мой Вкладка сети показывает запрос в ожидании и в ajax метод успеха я ничего не получаю.
Пожалуйста, помогите.