ANGULAR$http.put休息
ANGULAR $http.put REST
我尝试使用 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);
}
Header 我的功能:
[ResponseType(typeof(void))]
这是什么问题??
谢谢
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>
我尝试使用 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);
}
Header 我的功能:
[ResponseType(typeof(void))]
这是什么问题?? 谢谢
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>