在Internet Explorer中的jQuery.ajax PUT请求问题

我正在研究ASP.NET MVC4 webapi,看起来通过$ .ajax的put请求在谷歌浏览器和Firefox的情况下工作正常,但它在IE(10)中不起作用。

以下代码:

$.ajax({ url: 'api/xQuizQuestion', type: 'PUT', dataType: 'json', data: JSON.stringify(AllQsWithAs), contentType: "application/json;charset=utf-8", success: function (data) { alert('Student added Successfully'); }, error: function () { alert('Student not Added'); } }); 

在chrome / firefox中工作得很好,因为数据AllQsWithAs (它是一个复杂类型的数组)被添加到Request主体,但是在IE(10)的情况下,请求主体没有数据发送。

同样与Fiddler确认相同。

令人惊讶的是,当我将浏览器模式更改为IE9 / IE8或浏览器模式为IE 8/9时,它的工作正常。

不确定这个问题是什么。 任何帮助/见解将不胜感激。

似乎是IE 10中的一个错误。

我发现报告将这个标记添加到您的头部将以兼容模式运行脚本。

  

http://code.gishan.net/code/solution-to-ie10-ajax-problem/

jQuery的旧bug跟踪器条目因无法解决而关闭: http : //bugs.jquery.com/ticket/12790

我无法找到一个好的源代码,但它可能已在最新和最好的IE10版本中得到修复。