XMLHttpRequest не может загрузить URL. Неверный код состояния HTTP 400 (WebApi с angularJs на Chrome)

0

У меня есть приложение WebApi и простой потребительский веб-клиент. Я отправляю запросы на webApi, используя angularJS от веб-клиента. Конечно же, курс уже включен.

У меня были проблемы с Post on chrome, но я исправил его с помощью param для отправленного объекта, я думал, что это будет то же самое для Put, но я получил: XMLHttpRequest не может загрузить URL. Недопустимый код состояния HTTP 400 'на хроме, тогда как он работает в IE.

Код С#:

public void UpdateLampe(int Id, Lampe lampe)
    {

        var context = new eDomDataContext();
        var found = context.Lampes.SingleOrDefault(p => p.Id == Id);
        if (found != null)
        {
            found.Etat = lampe.Etat;
            found.Date = DateTime.Now;

            context.Lampes.Attach(found);
            context.Entry(found).State = EntityState.Modified;

            context.SaveChanges();
        }
    }

//Post request (works ok)

var lampe = $.param({'TypeObject': typeObject, 'SalleId': salleId});
        $http({
          method: "POST",
          url: "http://localhost:1770/api/Lampe",
          data: lampe,
          headers: {'Content-Type': 'application/x-www-form-urlencoded',}
        }).success(function (data) {
          alert("it works");
          }).error(function () {
          console.log(Error);
          alert('Error reading JSON file.');
        })
          .then(function (response) {
                  return response;
          });


//Put request  <= still have problem

var etat = $.param({'Etat' : false});
$http({
          method: "PUT",
          url: "http://localhost:1770/api/Lampe/1" ,
          data: etat,
          headers: {'Content-Type': 'application/x-www-form-urlencoded',}
        }).success(function (data) {
          alert("it works");
          }).error(function () {
          console.log(Error);
          alert('Error reading JSON file. - ');
        })
          .then(function (response) {
                  return response;
          });

Есть ли что-нибудь с тем, что я сделал?

Спасибо за помощь.

Теги:
google-chrome
asp.net-web-api

1 ответ

0
Лучший ответ

Я нашел решение здесь: http://ask.webatall.com/iis/18460_asp-net-web-api-put-delete-verbs-not-allowed-iis-8.html

Все дело в разрешении PUT & DELETE в web.config

Это может помочь кому-то.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню