我在客户端对 WCF 服务的 ajax 请求进行了一些错误处理,
self.remove = function (dep, processingResult) {
var data = { "id": dep };
$.ajax({
url: 'my.svc/remove',
type: 'POST',
contentType: 'application/json',
dataType: "json",
cache: false,
data: JSON.stringify(data),
complete: function (e, xhr, settings) {
var message = self.getMessage(e.status);
switch (e.status) {
case 200:
processingResult();
break;
case 417:
console.log(e.statusText);
radalert(message + e.statusText, null, null, "417");
break;
default:
{
console.log(e.statusText);
radalert(message, null, null, "bekey");
}
}
}
});
};
在某些情况下,我返回错误 417,但 IE9 得到的结果却是一些 12019 错误。包括 IE10 在内的所有其他浏览器都获得了正确的值。
为什么会发生以及如何解决?
12019 - ERROR_INTERNET_INCORRECT_HANDLE_STATE 请求的操作无法执行,因为提供的句柄状态不正确。
看起来返回此代码不是很好的做法。我对吗 ?
WebOperationContext ctx;
//....
ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.ExpectationFailed;//417
//...