es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Origen cruzado bloqueado entre Ajax y el controlador Spring.

Quiero una función de Javascript para enviar datos a un controlador Spring y recibir una respuesta. No obstante, debido a la política de Referente estricta en caso de estar cruzando orígenes, la solicitud no se lleva a cabo.

Controlador Spring:

@Controller
public class EventController {

@ResponseBody
@RequestMapping(value = “/event”, method = RequestMethod.POST)
public String handleAjax(@RequestParam Integer id, HttpServletRequest request, HttpServletResponse response) {

response.setHeader("Access-Control-Allow-Origin", "*");

return "OK";

}
}

Funciones de Javascript:

function getContextPath() {
return window.location.pathname.substring(0, window.location.pathname.indexOf(“/”,2));
}

function move(moveDir,velocity){
$.ajax({
type : “POST”,
url : getContextPath() + “/event”,
success: function(data){
console.log(data)
}
});
}

Sé que tengo que permitir el cruce de orígenes para estos archivos. Hasta ahora, lo que intenté no funcionó.
Lista de lo que intenté:

-> Añadir @CrossOrigin(origins = “http://localhost:8081”, maxAge = 3600) al controlador

-> Añadir response.setHeader(“Access-Control-Allow-Origin”, “*”); al controlador

-> Añadir crossorigin=”anonymous” a la etiqueta