Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - Connettersi ad un altro dominio con Ajax
Forum - Javascript - Connettersi ad un altro dominio con Ajax

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Dany (Member)
Pro


Messaggi: 129
Iscritto: 03/05/2012

Segnala al moderatore
Postato alle 14:58
Sabato, 26/07/2014
Utilizzando Ajax vorrei ottenere il sorgente di una pagina situata in un altro dominio:
Per esempio usando la funzione 'open', se l'indirizzo è nello stesso dominio del sorgente (es:
Codice sorgente - presumibilmente Plain Text

  1. ajax.open("get", "index.html", true);

)funziona perfettamente. Se uso un indirizzo assoluto (es:
Codice sorgente - presumibilmente Plain Text

  1. ajax.open("get", "http://esempio.com/index.html", true);

) la variabile ajax diventa undefined.
Idee?

Ultima modifica effettuata da Dany il 26/07/2014 alle 15:01
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 16:58
Sabato, 26/07/2014
Non puoi fare richieste ajax verso un altro dominio.

Dovrai costruire un "ponte" dal lato server sul tuo dominio che fa la richiesta verso il dominio esterno.

Qualcosa come:

doAjax.php --> GET http://esempio.com/index.html

Poi da Javascript fai la richiesta a doAjax.php, che e' all'interno del tuo dominio.


Il mio blog: https://piero.dev
PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 18:12
Sabato, 26/07/2014
Una alternativa, se il dominio chiamato lo supporta, è utilizzare CORS:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_co ...

Poi dal tuo JS ti conviene fare le richieste con jquery che ha un supporto integrato e trasparente per CORS.

Qui un articolo introduttivo che utilizza invece direttamente XMLHTTPRequest: http://www.html5rocks.com/en/tutorials/cors/

Chiaramente anche il browser, nel caso di IE in particolare, deve essere sufficientemente moderno per fare questo tipo di chiamate: http://caniuse.com/cors

PM Quote
Avatar
Dany (Member)
Pro


Messaggi: 129
Iscritto: 03/05/2012

Segnala al moderatore
Postato alle 12:32
Lunedì, 28/07/2014
Grazie mille:)

PM Quote
Avatar
Dany (Member)
Pro


Messaggi: 129
Iscritto: 03/05/2012

Segnala al moderatore
Postato alle 22:54
Lunedì, 01/09/2014
Scusate se riapro il discorso ma ancora riesco a connettermi ad un altro server!
Mi spiego, Avrei la necessità di verificare se un url esiste o meno su un dato server. Ora, se devo compiere operazioni all'interno dello stesso dominio non ci sono problemi. Riguardo la programmazione Cross-Domain, ho letto numerosi articoli ma ancora riesco a capire:
da quello che ho trovato, i modi possibili sarebbero 2: o con un proxy o con jQuery e Jsonp esempio:
Codice sorgente - presumibilmente Javascript

  1. $.ajax({
  2.     type: 'GET',  
  3.     url: URL,
  4.     dataType: "jsonp",
  5.     crossDomain: true,        
  6.     cache:false,
  7.     success: function()
  8.     {
  9.         alert("Il file esiste");
  10.     },
  11.     error: function()
  12.     {
  13.         alert("Errore");
  14.     }
  15.     });


Fatto sta che lo script ancora non si riesce a collegare al sito. Mi potreste aiutare a far luce su questo mistero?:om:

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 0:42
Martedì, 02/09/2014
Piero ti ha spiegato che la richiesta della pagina fuori dal tuo host deve essere effettuata dal server, quindi dovrai scrivere una pagina php che si occupi di caricare la suddetta pagina, potresti usare c_url.

PM Quote
Avatar
Dany (Member)
Pro


Messaggi: 129
Iscritto: 03/05/2012

Segnala al moderatore
Postato alle 15:15
Martedì, 02/09/2014
Quindi solo con Js non posso nulla?

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 22:33
Martedì, 02/09/2014
Puoi usare javascript se CORS è supportato dal server.
Anche JsonP puoi usarlo solo se il server ti risponde in JsonP.

Dipende dal server da raggiungere, se è configurato adeguatamente, e, nel caso di cors, se il tuo host chiamante è tra le allowed origins.

Nel fare qualche ulteriore ricerca ho trovato questo: http://client.cors-api.appspot.com/client che dovrebbe dirti se l'host che vuoi chiamare supporta CORS o meno.

PM Quote
Avatar
Dany (Member)
Pro


Messaggi: 129
Iscritto: 03/05/2012

Segnala al moderatore
Postato alle 19:09
Mercoledì, 03/09/2014
Grazie mille! Ma se a me interessa solo sapere se esiste un file (o meno), quindi non ho bisogno di scambiare dati, è fattibile solo con Js?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo