По образцам из here:Кажется, что перед полетом для CORS не имеет смысла. Это шутка?
Если запрос использует отличные от GET, HEAD или POST методы. Кроме того, если POST используется для отправки данных запроса с Content-Type, отличным от application/x-www-form-urlencoded, multipart/form-data или text/plain, , например. если запрос POST отправляет XML-полезную нагрузку на сервер с использованием application/xml или text/xml, тогда запрос предваряет.
Таким образом, в следующем примере, перед полетом осуществляется благодаря XML Content-Type и пользовательский заголовок X-PINGOTHER
:
var invocation = new XMLHttpRequest();
var url = 'http://bar.other/resources/post-here/';
var body = '<?xml version="1.0"?><person><name>Arun</name></person>';
function callOtherDomain(){
if(invocation)
{
invocation.open('POST', url, true);
invocation.setRequestHeader('X-PINGOTHER', 'pingpong'); //<====
invocation.setRequestHeader('Content-Type', 'application/xml'); //<====
invocation.onreadystatechange = handler;
invocation.send(body);
}
}
Но в так называемом запросе предполетной OPTIONS (ниже) сервер уведомляется только о методе HTTP и настраиваемом заголовке. Никто не сообщил серверу о XML Content-Type
.
Логически, до тех пор, как предполетной запрос посылается, то подразумеваетContent-Type не в 3-х формах, которые не нуждаются в предполетный. Но может быть множество других возможностей. Суть в том, что сервер должен знать, почему отправляется запрос предполетной почты.
Так как же сервер может решить, разрешить ли этот запрос отсутствующий кусок головоломки (тип контента)?
Если возможно, поместите свой код как текст, а не как изображений. –
@toasted_flakes OK, исправлено. – smwikipedia