¿Por qué no parece CORS al trabajo con el post?
-
23-09-2019 - |
Pregunta
especificación dice GET
simple o POST
deben ser CORS de forma nativa sin verificación previa, pero hasta el momento cada intento POST
que he hecho ha dado lugar a una cabecera OPTIONS
salir. Cuando cambio desde POST
para obtener el código inmediatamente envía una solicitud GET
adecuada por lo que el sitio de cruz parte está trabajando muy bien.
He aquí una muestra reducida de lo que estoy haciendo en Firefox:
var destinationUrl = 'http://imaginarydevelopment.com/postURL';
var invocation = new XMLHttpRequest();
if (invocation) {
invocation.open('POST', destinationUrl, true);
//tried with and without this line
//invocation.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
invocation.onreadystatechange = (function Handler() {
if (invocation.readyState == 4)
alert('Request made');
});
invocation.send(/* tried with and without data*/);
}
Esto es lo que yo ya había trabajando en cromo y el IE:
var destinationUrl = 'http://imaginarydevelopment.com/postURL';
var destination = { url: destinationUrl, type: 'POST', success: AjaxSuccess, error: AjaxError,
dataType: 'text', contentType: 'application/x-www-form-urlencoded'
};
destination.data = { 'rows': rowList, 'token': token };
$jq.ajax(destination);
Solución 2
Bueno, no sé lo que todo el trabajo, pero en realidad ContentTypes text/plain
hace en los 3 navegadores:
var destination = { url: destinationUrl, type: 'POST', success: AjaxSuccess, error: AjaxError,
contentType: 'text/plain'
};
var postData={ 'anArray': theArray, 'token': token };
destination.data=JSON.stringify(postData);
$jq.ajax(destination);
Sin embargo hasta el momento no he descubierto lo que lo impide la solicitud de hacer cualquier cosa además de correr el método de éxito, incluso cuando se devuelve un código 505. Adición de una cabecera de respuesta de Access-Control-Allow-Origin: *
resolvió el navegador no querer leer los datos de la declaración.
Otros consejos
Tengo el mismo problema
https://developer.mozilla.org/En/HTTP_Access_Control
dice que el enctype tiene que ser text / plain o si necesita usar Fx4 + Todas las cabeceras de acceso tienen que ser ajustado correctamente