Я пытаюсь отправить форму другому субдомену в моей компании, используя javascript. Адрес относится к API, который программно создает PDF-файл и возвращает его «inline», поэтому вместо перехода в папку «Загрузка» он открывается на новой вкладке.X-Domain Form POST становится GET в Internet Explorer 9
Это работает во всех современных браузерах, но не работает в IE 9. При расследовании по каким-либо причинам моя форма представляется как GET (без тела) вместо POST. Вот мой код:
HTML:
<form id="pdfDownloadForm" style="display:none" method="POST" target="_blank">
</form>
Javascript:
var form = document.getElementById("pdfDownloadForm");
form.setAttribute("action", apiUrl + "download/pdf");
form.setAttribute("method", "POST");
form.setAttribute("target", "_blank");
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "html");
input.setAttribute("value", getHtmlToConvertToPdf());
form.appendChild(input);
form.submit();
Поскольку я использую JQuery, я также попытался $(form).trigger('submit')
, просто чтобы увидеть, если он сделал разницу (это не так).
Любая идея, почему IE9 решит превратить это в GET? Является ли это старой междоменной «безопасностью» функции, с которой мне придется работать, или есть только что-то, что мне не хватает, что приведет к тому, что IE9 будет вести себя так, как я хочу?
Я пробовал это сделать, но это не исправить. Кроме того, я все равно не могу попросить моих пользователей сделать это. – Pharylon