2009-03-19 10 views

Respuesta

2

Puede utilizar la técnica descrita en mi blog Unwritten guide to Yahoo Query Langauge

Usted podría consultar la tabla de datos XML con un DECLARACIÓN yql así:

select * from xml 
    where url="http://path/to/xml
continuación, se añade una etiqueta de secuencia de comandos para su html (se puede hacer con document.createElement ('script')) con un src http://query.yahooapis.com/v1/public/yql?q={your yql aquí} & format = json & callback = {su función aquí} donde {su yql aquí } es reemplazar con una versión URI Encoded de tu declaración de yql.

+0

Maldita sea una buena idea. ¡Es algo así como tener un proxy en mi propio servidor! –

+0

Es mejor que tener su propio proxy porque puede filtrar los datos en el servidor de Yahoo incluso antes de que se lo envíen, sería un gran esfuerzo hacerlo con un proxy personal. – jasonincode

0

No estoy seguro acerca de JS, pero sé que puede usar uno de google's APIs y tienen un lector de RSS. Sé que esto probablemente no es lo que quieres, pero si lees la documentación, es posible que puedas obtener tu respuesta sobre cómo funciona.

2

Una forma fácil de hacerlo es enviar un proxy de la solicitud a través del servidor en el que reside su página. Los pasos son:

  1. escribir un script del lado del servidor realiza una solicitud HTTP en el feed RSS, cuando ese mismo script es la solicitud (es decir, a través de GET o POST)
  2. utilizar AJAX para solicitar el script del lado del servidor, o simplemente llamarlo desde el script principal para esa página.
  3. La secuencia de comandos del lado del servidor luego devuelve la fuente de alimentación en alguna forma que se pueda visualizar.
  4. ¡Ganar!

En IE 8 y FF 3.1 (no es seguro), es posible realizar estas solicitudes a través de llamadas entre sitios especializadas, pero la última generación de navegadores aún causará problemas. Ver:

http://dannythorpe.com/2009/01/15/ie8-cross-domain-request-support-demo/ http://ejohn.org/blog/cross-site-xmlhttprequest/ de funciones está restringido en FF 3.0, no está claro si va a estar de nuevo en 3.1

Sin embargo, los pasos anteriores están garantizados para no chocar con ningún tipo de seguridad del navegador CSS, a expensas de alguna retraso y carga adicional de hw en su servidor.

0

No directamente. Puede usar la sugerencia de Dana de proxing la solicitud, o buscar en un método llamado JSONP, que esencialmente envuelve el objeto JSON devuelto en una función de devolución de llamada personalizada, solicitada por una etiqueta de script que inyecta en su DOM. La mayoría de los proveedores de API lo admiten (incluidas las API de Yahoo).

2

Puede usar el Google Feed API para cargar RSS en JavaScript desde cualquier dominio/servidor. Más que solo un proxy, realmente sirve el contenido RSS de la memoria caché de Google en lugar de acceder al servidor original. Esto podría ser un salvavidas para servidores pequeños que no pueden manejar las sobrecargas de tráfico de Slashdot.

Utilicé la API de Feed para un acceso RSS entre sitios en un article on Silverlight hace varios años.

Cuestiones relacionadas