jQuery.ajax PUT请求问题在Internet Explorer(jQuery.ajax

2019-10-18 11:26发布

我工作的ASP.NET MVC4的WebAPI,似乎通过$ PUT请求阿贾克斯在谷歌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');
            }
        });

在铬/火狐工作得很好,在某种意义上说,数据AllQsWithAs(这是复杂类型的阵列)被添加到请求的身体,但在IE的情况下(10)请求正文是不含数据发送。

证实了小提琴手一样好。

令人惊讶的是,当我改变我的浏览器模式到IE9 / IE8或浏览器模式,IE 8/9的工作就好了。

不知道什么问题。 任何帮助/洞察力,将不胜感激。

Answer 1:

似乎是在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释放。



文章来源: jQuery.ajax PUT request issue in internet explorer