5

以下 ajax 调用适用于除 IE10 之外的所有浏览器(除非我将其设置为 IE9 标准模式)我用提琴手查看它,似乎参数在 ie10 中没有通过任何想法?

var paramArray = '{"ID":1}';   

 $.ajax({
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        url: '/assets/services/coreWebServices.svc/GetCategoriesWithoutColumns',
        data: paramArray,
        success: successFn,
        error: errorFn
    });

引发以下错误

The OperationFormatter could not deserialize any information from the Message because the Message is empty (IsEmpty = true).
    at System.ServiceModel.Dispatcher.PrimitiveOperationFormatter.DeserializeRequest(Message message, Object[] parameters)

System.Runtime.Serialization.SerializationException: Error in deserializing body of request message for operation 'GetCategoriesWithoutColumns'. The OperationFormatter could not deserialize any information from the Message because the Message is empty (IsEmpty = true).
    at System.ServiceModel.Dispatcher.PrimitiveOperationFormatter.DeserializeRequest(Message message, Object[] parameters)\u000d\u000a
    at System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(Message message, Object[] parameters)\u000d\u000a
    at System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest(Message message, Object[] parameters)\u000d\u000a
    at System.ServiceModel.Dispatcher.CompositeDispatchFormatter.DeserializeRequest(Message message, Object[] parameters)\u000d\u000a
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

System.ServiceModel.CommunicationException: Error in deserializing body of request message for operation 'GetCategoriesWithoutColumns'. The OperationFormatter could not deserialize any information from the Message because the Message is empty (IsEmpty = true).
    at System.ServiceModel.Dispatcher.PrimitiveOperationFormatter.DeserializeRequest(Message message, Object[] parameters)\u000d\u000a
    at System.ServiceModel.Dispatcher.DemultiplexingDispatchMessageFormatter.DeserializeRequest(Message message, Object[] parameters)\u000d\u000a
    at System.ServiceModel.Dispatcher.UriTemplateDispatchFormatter.DeserializeRequest(Message message, Object[] parameters)\u000d\u000a
    at System.ServiceModel.Dispatcher.CompositeDispatchFormatter.DeserializeRequest(Message message, Object[] parameters)\u000d\u000a
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.DeserializeInputs(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)\u000d\u000a
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
4

5 回答 5

4

这似乎是带有 IE10 的 jQuery 中的一个错误(至少是 Windows 7 预览版)。POST 数据未在请求中发送,我已将错误的详细信息记录到 jQuery:http ://bugs.jquery.com/ticket/12790#comment:18

更新:就我而言,这是免费下载管理器中的一个错误导致 IE10 出现问题。他们已经修复了这个问题(3.9.2 build 1281. - 2012 年 12 月 26 日),所以它运行良好。如果您阅读上面 jQuery 链接中的评论,您可以看到有人也选择了该评论,并且卸载 FDM 也纠正了该问题。所以这不是 IE10 或 jQuery 的问题,而是改变正常行为的附加组件。

于 2012-11-16T08:55:44.843 回答
2

就我而言,Download Accelerator Plus 是原因。卸载 DAP 解决了该问题。

于 2013-05-08T09:51:24.663 回答
1

我知道很久以前有人问过这个问题,但想添加我的答案。

这不是 IE 或 jquery 的错误。一些下载管理器,如DAP、FDM 和 IDM负责此问题(即使禁用)。删除这些下载管理器将起作用。

问题是这些下载管理器对某些 URLMon 接口的 thunk 不完整,这会干扰 POST 上传

很少有人报告说 Google Gears 也对这个问题负责。禁用后,问题将解决。(未测试)

于 2013-12-13T10:19:44.183 回答
0

在 ajax 请求中通过 POST 发送数据在 IE10 中不起作用(即使在我的情况下没有安装可能干扰 IE10 的其他程序)。在 ajax 请求中按 GET 发送数据对我有用。

起初,根据 JavaScript 错误控制台,这似乎是 jquery 问题和 JSON 数据问题(如错误编码或非法字符或无效 json),分别在响应中发送回 json 数据时,但一切都很好json数据。然后我意识到没有发送 POST 数据,我将 jquery $.ajax 调用中的“type”参数更改为“GET”,从而解决了问题。

于 2014-08-07T10:38:09.280 回答
0

我在 IE10/jQuery 1.11.1 中对 FormData 对象的 Ajax POST 请求遇到了同样的问题。POST 数据和文件附件都没有发送到服务器。仅发送 URL 参数。

我正在使用此补丁向 jQuery Ajax 添加进度回调:

https://github.com/englercj/jquery-ajax-progress

没有补丁,请求在 IE10 中完美运行。

该补丁在所有其他浏览器中都能完美运行。

于 2014-08-14T11:16:38.027 回答