У меня есть вызов AJAX для MVC ActionResult в контроллере, который пытается вернуть bool.return bool from Ajax call to MVC
Мой Аякса вызов:
function CheckForExistingTaxId() {
$.ajax({
url: "/clients/hasDuplicateTaxId",
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
data: JSON.stringify({ taxId: taxId }),
});
}
Мой метод: ("клиент" является префиксом маршрут по умолчанию)
[HttpGet, Route("hasDuplicateTaxId")]
public ActionResult hasDuplicateTaxId(string taxId)
{
//if stuff
return Json(true, JsonRequestBehavior.AllowGet);
else
return Json(false, JsonRequestBehavior.AllowGet);
}
Я хочу открыть модальный диалог на основе результата вызова Ajax:
if (CheckForExistingTaxId())
DialogOpen();
Первая проблема: я получаю 404 Not Found для клиентов/hasDuplicateTaxId. Есть ли проблема с моим маршрутом или тем, как я его называю? Во-вторых, могу ли я возвращать логическое значение таким образом, оценивая функцию CheckForExistingTaxId() с помощью вызова ajax перед открытием диалога?
Ajax рассматривает запрос успешным, если он получить по спине "любые" данные (при этом пустой массив означает, что это удалось) , чтобы проверить, существует ли ваш id, я бы вернул идентификатор, если он был найден. затем в вашем успехе ajax: проверьте, есть ли у ваших данных какие-либо объекты. если это так, значит, оно уже существует. Другой вариант - вернуть ошибку, если идентификатор уже существует, и если он не возвращает пустой json, таким образом вы можете успешно справиться с сценарием «ok»: и сценарий с дублированием по ошибке: Но для ответьте на свой вопрос 404, это звучит для меня так, как будто вы вообще не нажимаете на свой API, можете ли вы поделиться своей настройкой маршрута? – Puzzle84
У всех маршрутов есть «клиенты» в качестве префикса, не знаю, почему я 404'd – noclist