问题
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