我正在使用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时,它的工作正常。
不确定是什么问题。任何帮助/见解将不胜感激。
答案 0 :(得分:2)
似乎是IE 10中的一个错误。
我发现报告将此标记添加到您的头部将以兼容模式运行脚本。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" >
http://code.gishan.net/code/solution-to-ie10-ajax-problem/
jQuery的旧bug跟踪器条目因无法修复而关闭:http://bugs.jquery.com/ticket/12790
我无法找到一个好的来源,但可能已在最新和最好的IE10版本中得到修复。