Я всегда получаю предупреждение error2
Потому что это не делает то, что вы думаете:
error: alert("error2")
Это не устанавливаетalert()
как обработчик обратного вызова error
.Это немедленно выполняет alert()
и устанавливает результат (то есть undefined
) в качестве обработчика обратного вызова error
.Таким образом, alert()
будет показано независимо от того, есть ли ошибка или нет, потому что она будет показана еще до того, как будет выполнен вызов AJAX.
Оберните его в функцию для использования в качестве обратного вызова, как и success
обработчик обратного вызова:
error: function () {
alert("error2");
}
Обновление: Из комментариев ниже кажется, что вы также ожидаете многого от типа object
в C #.Этот тип не имеет полезных свойств, поэтому некуда найти значения, которые вы публикуете на сервере.Используйте пользовательский тип:
public class Details
{
public int cityId { get; set; }
public int cityTypeId { get; set; }
public int busId { get; set; }
public int serialId { get; set; }
public int makeId { get; set; }
}
И используйте этот класс:
public IActionResult Index(Details details)
Вам также может потребоваться заменить JSON.stringify(Details)
просто Details
, поскольку вы, вероятно, хотите отправитьсам объект, а не сериализованная строка.