Richiesta Ajax da un sito verso un'applicazione rails

Ciao a tutti.
Vorrei sapere se è possibile fare questa cosa: dovrei fare una richiesta
ajax a partire da un sito qualunque (non Rails) verso un’azione di un
mio controller (sul mio sito) e che ritorni il risultato sul sito che ha
fatto la richiesta in un div creato apposta.
Mi servirebbe che ritornasse solo del testo, non mi serve nessun layou,
ma proprio solo una stringa di testo.
Per la richiesta ajax dallo script non ci sono problemi, solo che non
riesco a capire come posso richiedere proprio un’azione di un
controller.

In pratica una chiamata di questo tipo: http_request.open(‘GET’, url,
true); dove URL è un indirizzo del tipo di rails
http://mio-sito.com:3000/controller/azione/par1/par2.

Secondo voi è possibile!?
Sapreste darmi qualche dritta!??!

Grazie a tutti!!!
Ciao!

Nessuno sa aiutarmi???

Niko P. wrote:

In pratica una chiamata di questo tipo: http_request.open(‘GET’, url,
true); dove URL è un indirizzo del tipo di rails
http://mio-sito.com:3000/controller/azione/par1/par2.

Secondo voi è possibile!?
Sapreste darmi qualche dritta!??!

Certo che si può, non c’è assolumente nessuna diversità dal richiamare
in ajax pagine fatte con altri linguaggi (php …)

http://mio-sito.com:3000/controller/azione/par1/par2.

è corretto

Diego G. wrote:

Niko P. wrote:

In pratica una chiamata di questo tipo: http_request.open(‘GET’, url,
true); dove URL è un indirizzo del tipo di rails
http://mio-sito.com:3000/controller/azione/par1/par2.

Secondo voi è possibile!?
Sapreste darmi qualche dritta!??!

Certo che si può, non c’è assolumente nessuna diversità dal richiamare
in ajax pagine fatte con altri linguaggi (php …)

http://mio-sito.com:3000/controller/azione/par1/par2.

è corretto

Ciao, grazie mille!
Il fatto è che non funziona. Ti riporto il codice. L’ahtml con lo script
JS è qeusto:

Una normale richiesta ajax.

L’azione è molto semplice:

class DemoController < ApplicationController
def eco
render_text “

The time is ” + DateTime.now.to_s + “


end
end

Quando carico la pagina con lo script, non succede nulla. Se guardo tra
i log del server di rails non vedo nessuna attività , quindi è come se la
richiesta non venisse fatta…
Oltre tutto nella funzione alertContents() non viene mai eseguita
l’istruzione alert(“http_request.responseText”);

Cosa sbaglio!?

Grazie ancora!!

Andrea F. wrote:

I browser per sicurezza limitano le chiamata xhr allo stesso dominio
del file javascript o html che lo esegue. Perci� se carichi un
javascript da dominio1.com che fa una chiamata xhr a dominio2.com non
funziona. E’ questo che stai tentando di fare?

Esatto, quindi dici che non c’è modo di fare una chiamata ajax da un
dominio qualsiasi, ad un mio dominio con una mia applicazione rails?

Il problema è che non funziona nemmeno quando lavoro in locale…

Niko P. wrote:

Andrea F. wrote:

I browser per sicurezza limitano le chiamata xhr allo stesso dominio
del file javascript o html che lo esegue. Perci� se carichi un
javascript da dominio1.com che fa una chiamata xhr a dominio2.com non
funziona. E’ questo che stai tentando di fare?

Esatto, quindi dici che non c’è modo di fare una chiamata ajax da un
dominio qualsiasi, ad un mio dominio con una mia applicazione rails?

Si,

possibilità 1) crei una pagina sul tuo server che lato server fa il
lavoro sporco,
basta anche una pagina in php che restituisce esclusivamente il
contenuto di file remoto (fopen può leggere siti remoti se configurato a
dovere)

possibilità 2) il js che esegue la chiamata ajax lo posizioni sul
dominio della
applicazione rails e lo richiami tramite l’inclusione di script esterni
(non sono sicurissimo che funzioni)

possibilità 2) il js che esegue la chiamata ajax lo posizioni sul
dominio della
applicazione rails e lo richiami tramite l’inclusione di script esterni
(non sono sicurissimo che funzioni)

La seconda non funziona!

possibilità 1) crei una pagina sul tuo server che lato server fa il
lavoro sporco,
basta anche una pagina in php che restituisce esclusivamente il
contenuto di file remoto (fopen può leggere siti remoti se configurato a
dovere)

Avresti voglia di farmi un piccolo esempio? Anche solo uno
pseudocodice?? (non super astratto magari!!)

Grazie mille!!

I browser per sicurezza limitano le chiamata xhr allo stesso dominio
del file javascript o html che lo esegue. Perciò se carichi un
javascript da dominio1.com che fa una chiamata xhr a dominio2.com non
funziona. E’ questo che stai tentando di fare?

Il problema alla fine sarebbe di poter piazzare uno script su qualunque
sito, che faccia una richiesta al mio sito rails.
Quindi io alla fine potrei non saper nulla del sito che fa la richiesta
alla mia app. Semplicemente dovrei poter mettere a disposizione uno
script e dire: includete questo nella vostra pagina e otterrete il
risultato…

Niko P. wrote:

Ciao a tutti.
Vorrei sapere se è possibile fare questa cosa: dovrei fare una richiesta
ajax a partire da un sito qualunque (non Rails) verso un’azione di un
mio controller

Come gia’ detto da altri, ti viene impedito dalla policy di sicurezza
Cerca per “crossdomain ajax”; dovresti trovare qualcosa di equivalente
(usando un tag al posto di XMLHttpRequest, mi sembra)