以下是与AJAX调用相关的代码。我正在使用AngularJS来调用该服务。
在Safari浏览器中,有时AJAX调用失败并进入错误阻止。当我在Global.asax页面中尝试使用HTTPRequest查看Content.Length时,它似乎为0.对于每个失败的AJAX调用,Content.Length为0。当我试图在iPad上访问它时,我遇到了同样的问题。
var promise = $http({
method: 'POST',
url: getModifiedURL(userInfo.URL + '/FilterDataService.svc/GetFilters'),
data: { inputFilters: JSON.stringify(prm) },
headers: { 'Content-Type': 'application/json; charset=UTF-8' }
}).success(function (data, status, headers, config) {
$("#ajaxLoader,#ajaxBlocker").hide();
}).error(function (data, status, headers, config) {
setAckMessageWithTime("Operation failed", 3000);
$("#ajaxLoader,#ajaxBlocker").hide();
});
return promise;
我在我的应用程序中使用Safari 5.1.7(7534.57.2)版本,AngularJS和Bootstrap。
这是它抛出的错误。
服务器在处理请求时遇到错误。操作' GetFilters'的反序列化请求消息正文中的异常消息是“错误”。 OperationFormatter无法反序列化Message中的任何信息,因为Message为空(IsEmpty = true)。'。有关详细信息,请参阅服务器日志。异常堆栈跟踪是:
\ r \ n在System.ServiceModel.Dispatcher.PrimitiveOperationFormatter.DeserializeRequest(消息消息,对象[]参数)\ r \ n System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(消息消息,Object []参数)\ r \ n在System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest(消息消息,Object []参数)\ r \ n在System处。 System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin上的System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc& rpc)\ r \ n的ServiceModel.Dispatcher.CompositeDispatchFormatter.DeserializeRequest(消息消息,Object []参数)\ r \ n( MessageRpc& rpc)\ r \ n在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)\ r \ n在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)\ r \ n在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)\ r \ n位于System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)\ r \ n,位于System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)\ r \ n,位于System.ServiceModel.Dispatcher System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)\ r \ n的.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)\ r \ n在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)\ r \ n在System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)