AJAX PUT из jQuery в REST API не работает - Ошибка 404 - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь обновить данные, используя запрос PUT, который вызывает .NET REST API.Когда я посылаю вызов AJAX, он показывает ошибку 404.

  var url = "http://localhost/site/mycontrollerName/PUT"
  $.ajax({
    url: url,
    type: "PUT",
    contentType: 'application/json',
    dataType: "json",
    data: { 
      "userId": userid ,
      "paramDate1":date1 ,
      "eventId1": _event1 ,
      "paramDate2": date2 ,
      "eventId2": _event2 
    },
    success: function (data) {
      // some task
    }
  , fail: function () {
    // some task
  }
})
[HttpPut]
public JsonResult PUT(int userId, DateTime paramDate1, int eventId1, DateTime paramDate2, int eventId2)
{
  var response = "";
  return Json(response, JsonRequestBehavior.AllowGet);
}

Что здесь не так?Я также попытался создать массив для параметров и передать их в виде строки JSON.Я также попробовал следующие URL-адреса, удалив параметр userid:

http://localhost/site/mycontrollerName/1/PUT

и

http://localhost/site/mycontrollerName/PUT/1

1 Ответ

1 голос
/ 16 мая 2019

Это проблема настройки IIS Откройте IIS-> Модуль обработчика -> поиск "ExtensionlessUrlHandler-Integrated-4.0" -> Нажмите "ограничение запроса" -> глаголы, затем добавьте в него PUT и DELETE.

Изменены входные данные в ajax с использованием объекта Javascript и их преобразование перед передачей.

...