1

我正在研究 ASP.NET MVC4 webapi,似乎通过 $.ajax 的 put 请求在 google chrome 和 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(它是一个复杂类型的数组)被添加到请求正文中,但在 IE(10) 的情况下,请求正文是在没有数据的情况下发送的。

Fiddler 也证实了这一点。

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

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

4

1 回答 1

2

似乎是 IE 10 中的错误。

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

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" >

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

jQuery 的旧错误跟踪器条目因无法修复而关闭:http: //bugs.jquery.com/ticket/12790

我很难找到一个好的来源,但它可能已在最新最好的 IE10 版本中得到修复。

于 2013-08-11T14:58:36.233 回答