jQuery.ajax PUT request issue in internet explorer

谁都会走 提交于 2020-01-06 03:53:25

问题


I am working on ASP.NET MVC4 webapi and it seems a put request via $.ajax works fine in case of google chrome and Firefox but it isn't workin in IE(10).

The below code :

 $.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');
            }
        });

Works fine in chrome/firefox, in sense that the data AllQsWithAs(which is an array of Complex types) gets added to the Request body, but in case of IE(10) the request body is sent without the Data.

Confirmed the same with Fiddler as well.

Surprisingly it works just fine when I change my Browser Mode to IE9/IE8 or Browser mode to IE 8/9.

Not sure whats the issue. Any help/insight would be appreciated.


回答1:


Seems to be a bug in IE 10.

I'm finding reports that adding this tag to your head will run the scripts in compatibility mode.

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

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

Old bug tracker entry for jQuery closed as can't fix: http://bugs.jquery.com/ticket/12790

I'm having trouble finding a good source, but it may have been fixed in the latest and greatest IE10 release.



来源:https://stackoverflow.com/questions/18172915/jquery-ajax-put-request-issue-in-internet-explorer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!