![](/img/trans.png)
[英]using jQuery AJAX with asp.net webservices always goes to error: instead of success:
[英]Ajax always executes error function on success with Asp.Net HttpResponseMessage
当我发送Ajax请求时,我可以看到返回的状态码为200,这意味着一切正常。 但是,它总是执行错误功能而不是成功功能。
Web API
public HttpResponseMessage ChangeModus(Artikel Artikel)
{
return Request.CreateResponse(HttpStatusCode.OK);
}
的JavaScript
$.ajax({
type: 'POST',
dataType: 'json',
contentType: 'application/json',
url: "/Api/Artikel/ChangeModus",
data: JSON.stringify(Artikel),
success: OnSaveSuccess,
error: OnSaveError
});
function OnSaveSuccess(response) {
alert("Success")
}
function OnSaveError(response) {
alert("Ein Fehler ist aufgetreten");
}
我是在做错什么,还是为什么总是执行错误功能?
发生错误是因为尽管您有200(OK)响应,但该响应不包含响应正文。 您应该发送带有响应的内容,或者使用HttpStatusCode.NoContent
(204)代替。
就像Jakob所说,之所以会出现此问题,是因为必须有一个响应正文,否则javascript将执行错误功能。
选择以下选项之一:
public HttpResponseMessage ChangeModus(Artikel Artikel)
{
return Request.CreateResponse(HttpStatusCode.OK, "Success");
}
要么:
public HttpResponseMessage ChangeModus(Artikel Artikel)
{
return Request.CreateResponse(HttpStatusCode.NoContent);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.