HttpPost в MVC Контроллер не вызывается через Ajax POST - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть контроллер (InformationTechnologyController). Этот контроллер содержит действие (LocationChangeRequest). Это действие принимает необязательный параметр (id).

public ActionResult LocationChangeRequest(ChangeRequestType id = ChangeRequestType.WithinDepartment)

Это действие возвращает представление с данными текущей модели.

return View(locationChangeRequest);

В этом представлении есть функция, которая выполняет ajax запись (код ниже) для поиска информации о сотрудниках.

Поиск сотрудников 1

URL для достижения этого вида:

http:// [not relavant here] /InformationTechnology/LocationChangeRequest

Когда пользователь пытается достичь этого вида с помощью параметра маршрута, функция поиска сотрудников не работает.

URL-адрес для доступа к виду с параметром маршрутизации:

http:// [not relavant here] /InformationTechnology/LocationChangeRequest/1

Я обнаружил, что метод HttpPost в контроллере InformationTechnology не используется при использовании параметра / 1 в пути. Хотя, похоже, это связано с параметром в пути, я не могу понять, как решить проблему.

Буду признателен за любые советы о том, как обрабатывать попадание в HttpPost через URL с параметром.

Код HttpPost выглядит следующим образом:

[HttpPost]
public JsonResult SearchUser(string term)
   {
     ...
     return Json(results, JsonRequestBehavior.AllowGet);
   }

javascript код выглядит следующим образом:

$.ajax({
  url: searchUserUrl,
  type: "POST",
  dataType: "json",
  data: { term: request.term },
           success: function (data) {
                    response($.map(data,
                         function (item) { 
                             return { label: item.Name, value: item.HexKey }; }));
                         },
            error: function (xhr, error) {
                    console.debug(xhr); console.debug(error);}
                    })

1 Ответ

0 голосов
/ 03 апреля 2020

Вам необходимо определить глобальную переменную для использования $, как показано ниже.

var $ = jQuery .noConflict ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...