Tengo 2 proyectos, llamémoslos backend y frontend. Backend es un proyecto de Symfony3 y Frontend es una página html simple con javascript.
Me gustaría llamar a una url peculiar del backend desde el frontend para que devuelva una cadena (una url).
Entonces, lo que intenté hacer es una simple solicitud de obtención de ajax con la URL de backend que me gustaría solicitar, pero esto regresa
SyntaxError: Token inesperado "<"
(para tipo de datos html) y
Error de sintaxis: símbolo inesperado.
(para json y jsonp tipo de datos).
Probé con dataType json, jsonp, html adaptando cada vez que el controlador responde para responder respectivamente a json, json y html.
Cuando intento esta solicitud del cartero, todo funciona bien y obtengo mi json o html.
Obviamente hay algo que no entiendo.
¿Hay alguien que me pueda explicar qué hago mal y cómo podría hacerlo?
A continuación se muestra la solicitud ajax de mi proyecto frontend (para html en ese caso, pero dejé que la parte json comentada que he juzgado para la prueba en caso de ...)
$.ajax({ url: 'http://sevignemiroir.local/display', type: 'GET', dataType: "html", //dataType: "jsonp" success: function(response) { console.log('success'); console.log(response); }, error: function (response) { console.log('error'); console.log(response); } })Y esta es mi respuesta de mi controlador Symfony backend
public function indexAction() { //return $this->json('toto'); return $this->render('display/test.html.twig', [ 'toto' => 'toto' ]); }el archivo test.html.twig:
<div>test</div>Estoy un poco confundido :
Estas son las preguntas con las que me estoy confundiendo y si alguien tuviera la amabilidad de explicarlo, ¡se lo agradecería mucho!
No sé si eso es importante, pero estoy usando MAMP y ambos proyectos tienen hosts virtuales configurados
Muchas gracias a los que se tomen el tiempo de leer esto :)
Ahora funciona pero... no sé por qué. Estaba instalando varios paquetes en Symfony (FOSRest, NelmioCors, JMS) y probé complementos de jquery cross-plugin, nada funcionaba, pero cuando los eliminé todos, ahora funcionaba... :/