Una de las limitaciones más importantes que tiene el trabajar con procedimientos AJAX es la imposibilidad de realizar llamadas a dominios externos, es decir, solo podemos acceder a la información alojada en el mismo dominio donde se ejecuta el script.
Realmente no es una limitación de la función XMLHttpRequest
, el problema está en que la mayoría de los navegadores actuales limitan este tipo de procesos por considerarlos un problema de seguridad, también conocido como remote scripting.
Como solución al problema, podemos aplicar tres técnicas,
1. Utilizar un script como proxy
2. Utilizar Apache como proxy
3. Utilizar un script que realize una llamada a un proxy
Cada una de estas soluciones tiene sus pros y sus contras, aunque personalmente creo que la primera opción es la que más posibilidades ofrece, ya que podemos utilizar cualquier lenguaje para programar una aplicación que realize la llamada remota bajo demanda.
[On-Demand Javascript – Ajax Patterns][1]
Vía / [XML.com][2]
[1]: http://ajaxpatterns.org/On-Demand_Javascript
[2]: http://www.xml.com/pub/a/2005/11/09/fixing-ajax-xmlhttprequest-considered-harmful.html