Tengo un formulario con una acción en el sitio que procesa la publicación. Cuando presiono enviar con la URL en la acción, funciona. El problema es que, cuando se envía el formulario o si hay un error, me lleva a otra página, así que muestra "éxito" o "error" (no quiero que me lleve a la otra página, solo devuelve la respuesta a mi página para que pueda hacer un modal o algo). He intentado muchas formas diferentes, pero cuando uso AJAX, obtengo el "Acceso-Control-Permitir-Origin". ¿Por qué obtendría esto si ya tengo permiso para hacer la publicación sin él?
Funciona cuando el encabezado del formulario es:
form accept-charset="UTF-8" class="" id="contestForm" enctype="multipart/form-data" action='url' method='post'>Ejemplo de solicitudes que he realizado.
$.ajax({ method: 'POST', url: url, dataType: 'json' or 'jsonp', headers: {'Access-Control-Allow-Origin: *}, )};etc., etc. (Lo siento, es posible que no esté completo, ya que comencé de nuevo antes de hacer la pregunta). ¿Alguna idea de cómo no ir a la página de envío al presionar el botón Enviar?
PD: Estoy usando Flockler para los envíos y no tengo control sobre cómo se publican los datos en su servidor.
Agregue el CORS header 'Access-Control-Allow-Origin:<requster_domain>' en el servidor para aceptar su solicitud. A través de Ajax, abre una amenaza de seguridad para que los navegadores la bloqueen, lo cual tiene sentido. de lo contrario, cualquiera puede abrir una consola de navegador y puede bombardear el servidor con llamadas ajax. Pero si su servidor confía en las llamadas provenientes de su dominio, ese riesgo de seguridad se mitiga.
Espero que esto ayude.