在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版本中得到修复。