Estoy comenzando con AJAX, y hay algo en lo que me he fijado pero que no encuentro la respuesta.
Después de hacer la petición con XMLHttpRequest la respuesta con PHP debe ser con echo y no con return. Entonces caí en la cuenta de que enviar valores con echo es una forma limitada de enviar valores; no puedes enviar cómo respuesta un array, quiero decir, podrías enviar un string y partir la cadena en porciones, pero es costoso en programación y líneas.
Así que seguí leyendo y me topé con JSON, al parecer la solución al dilema, ya que devuelve un string con un formato semejante al array y en javascript lo interpretas.
Pero la duda sigue ahí y no entiendo por qué no veo que nadie hable de ello:
¿Por qué al trabajar con AJAX XMLHttpRequest las respuestas de PHP deben ser con echo y no con return (cómo sería lo más obvio)? Esto crea principalmente un problema:
Hay que tener clases para el cliente que no use AJAX y clases para funcionalidades AJAX, eso puede implicar duplicar código para hacer lo mismo.
Saludos.