【问题标题】:ANGULAR $http.put REST角度 $http.put REST
【发布时间】:2016-02-18 13:17:03
【问题描述】:

我尝试使用带有 REST angular ($ http) 的 Web 服务。 GET 是可以的,但是当我尝试使用 $ http.put 进行更改时,出现以下错误:

XMLHttpRequest cannot load http://10.2.150.238:90/api/Collaborateurs/1. Response for preflight has invalid HTTP status code 405.

更新功能:

.factory('UpdateCollaborateur', function ($http, config) {
    var fac = {};
    fac.Update = function (matricule,collaborateur) {
        return $http.put(config.apiUrl + 'Collaborateurs/'+ matricule, collaborateur);

    };
    return fac;
})

WEB API 2,放:

 public IHttpActionResult PutCollaborateur(int id, Collaborateur collaborateur)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != collaborateur.matricule_collaborateur)
            {
                return BadRequest();
            }

            db.Entry(collaborateur).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CollaborateurExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }

我的功能标题:

 [ResponseType(typeof(void))]

这是什么问题?? 谢谢

【问题讨论】:

标签: angularjs rest http put


【解决方案1】:

405表示该方法不允许

如果您使用[HttpPut],请确保您的 webconfig.xml 允许它

试试下面的

<system.webServer>
    <handlers>
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>

【讨论】:

    猜你喜欢
    • 2017-02-08
    • 1970-01-01
    • 2016-09-21
    • 2020-04-06
    • 2019-11-09
    • 1970-01-01
    • 2016-02-21
    • 2017-05-18
    • 2016-06-05
    相关资源
    最近更新 更多