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

时间:2013-08-11 14:20:47

标签: ajax jquery asp.net-mvc-4 asp.net-web-api

我正在使用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时,它的工作正常。

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

1 个答案:

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

相关问题