Я пытаюсь использовать API Fetch для обработки POST данных XML, чтобы избежать проблем с перекрестным происхождением с помощью XmlHttpRequest. Проблема, с которой я сталкиваюсь, заключается в том, что, несмотря на то, что мой Content-Type имеет значение «text/xml» (который является единственным поддерживаемым заголовком содержимого в этом случае), тип содержимого моего запроса сбрасывается в text/plain, что приводит к статусу HTTP 415 из запрошенного контента.Использование Fetch API для POST XML
Вот моя выборка функции:
function doFetch(Content)
{
return fetch(
URL, { method: 'POST',
mode: 'no-cors',
headers: new Headers(
{'Content-Type': 'text/xml; charset=utf-8',
'Accept': '*/*',
'Accept-Language': 'en-GB',
'Accept-Encoding': 'gzip, deflate',
'Connection': 'Keep-alive',
'Content-Length': Content.length
}),
body: Content
});
}
Содержимое представляет собой строку данных XML.
И это заголовок, который фактически используется:
Content-Length:1537
content-type:text/plain;charset=UTF-8
Просто интересно, если то, что я пытаюсь сделать, это возможно, и если это то, что я делаю неправильно? (Я как бы новичок в веб-разработке).
Спасибо!
Ах спасибо. Вот почему это меняется! Проблема с перекрестным происхождением заключается в том, что ресурс, к которому я пытаюсь получить доступ, не имеет никакого способа обработки запроса OPTIONS. По какой-то причине использование Internet Explorer 11 и более ранних версий позволяет мне отправлять и получать без проблем, но любой «современный» браузер Edge, Chrome и т. Д. Дает мне HTTP 404 ответ из-за проблемы CORS. – Krisisonfire