Было несколько предложений, которые я видел в Интернете о том, как решить эту проблему, и были некоторые, которые «работали» в IE, что означало, что я не получил ошибку в консоли браузера IE, но когда данные достигли сервлета Java, извлеченные поля данныхбыли нулевыми.
Таким образом, решение для меня заключалось в том, чтобы использовать jQuery для создания поста при использовании Internet Explorer, например:
// This if statement checks to see if the user's browser is Internet Explorer
// if its true then use jQuery to do the POST
if((navigator.userAgent.indexOf("MSIE") !== -1 ) || (!!document.documentMode === true )) //IF IE > 10
{
var myObject = {
var1: this.state.data1,
var2: this.state.data2
};
var urlToPost = 'https://localhost:8080/someServlet/someMethod';
$.post(urlToPost, myObject,
function(result) {
// handle response
})
.done(function(result) {
// handle response
})
.fail(function(result) {
// handle response
})
.always(function(result) {
// handle response
});
} else {
// use the AXIOS POST command code from my initial question above
}
Перед этим мне пришлось установить jquery.и обещаем, используя следующие команды:
npm install jquery
npm install es6-обещание
Затем в верхней части моего файла реакции у меня быловключить следующие операции импорта:
import $ from 'jquery';
import { polyfill } from 'es6-promise'; polyfill();
С этими изменениями Internet Explorer больше не выдавал мне консольных ошибок, а имеющийся у меня сервлет Java смог извлечь ненулевые данные из объекта HTTP Response.