У меня есть веб-приложение MVC 5, с которым я использую AJAX Posts для вызова действий контроллера.Допустим, у меня есть контроллер с именем «Account» и действие на этом контроллере с именем «Create».
Чтобы вызвать это действие, я использовал код, похожий на этот, который вызывается из моего представления Account / Index,от получения доступа к учетной записи / индексу GET.
$.ajax({
type: "POST",
url: "/Create",
data: dataVar,
processData: false,
contentType: false,
datatype: "json",
success: function (data) {
$('#result').html(data);
}
});
Это не мой точный код, но он показывает мою цель.Я использовал "/ Create" в качестве URL-адреса POST.Это работало нормально без проблем, пока, казалось бы, случайно сегодня не перестал находить способ действия.Я исправил это с помощью @ Url.Action, чтобы сгенерировать правильный URL для публикации, и это хорошо, но я хочу знать, действительно ли мне это нужно.(Псевдокод ниже)
$.ajax({
type: "POST",
url: "@Url.Action("Create","Account")",
data: dataVar,
processData: false,
contentType: false,
datatype: "json",
success: function (data) {
$('#result').html(data);
}
});
Есть ли что-то не так с тем, как у меня было раньше, где URL-адрес записи был относительно текущего контроллера?Стоит ли этого избегать, и всегда использовать функцию для генерации моего URL?
Мне особенно любопытно, почему раньше работал "/ Create", но теперь он должен неожиданно вызываться как "/ Account / Create".Есть идеи?Настройка в web.config или что-то?