Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    chiamate ajax da una pagina salvata in locale: impossibile?

    Ciao a tutti, volevo chiedervi se sapete per caso dell'esistenza di problemi legati ad effettuare chiamate ajax da pagine al di fuori dal server. Mi spiego meglio: ho una pagina html, è possibile salvarne il codice e scaricarsela sul proprio pc utilizzando il php per forzarne il download ( ho trovato spiegazioni su come fare questa cosa a http://www.mrwebmaster.it/php/artico...e-php_963.html).
    Il salvataggio va a buon fine, la pagina viene salvata, per esempio come html, sulla cartella download e posso ricaricarla direttamente dal browser facendo "apri". Il problema è che le funzioni javascript, che rimangono comunque incluse nella pagina essendo gli indirizzi assoluti e relativi al server(sul mio pc,uso xampp), ovvero del tipo

    codice:
    		     <script type="text/javascript" src="http://mio_ip/tirocinio/JS/jquery-1.3.2.min.js"></script>
    prevedono di effettuare chiamate ajax ad altre pagine del server. Ora io pensavo che si potesse fare una cosa del genere, ovvero mettere l'indirizzo http:// mio_ip/tirocinio/pagina.php nella chiamata ma a quanto pare questa cosa lo manda in panico! La chiamata risulta una cosa così(utilizzo jquery):

    codice:
    $.ajax({ 		type: "POST", 
    		url: "http://192.168.x.x/tirocinio/prova_file.php", 		
                   data: dati_salvataggio, 	
                  async: false, 		
                success: function(data,stato){ alert("salvataggio effettuato"); 			$('#risultati').html(data); },		 					 		}, 		error: function(XMLHttpRequest,data,stato){alert("E' avvenuto un errore. Il stato della chiamata: "+XMLHttpRequest.status+"ciao  "+stato);}});
    a quanto pare l'url messo così non gli sta bene; la chiamata non parte, mi dà errore: stato della chiamata 0. Ora, sto sbagliando di grosso o propio non è previsto che ajax si possa muovere fuori dal server? Ma mi sembra strano!
    Grazie a chiunque possa darmi una mano

  2. #2
    Non puoi farlo per un sacco di ragioni, ma la principale è che AJAX non accetta richieste ad una pagina con dominio diverso da quello in cui lo script è in esecuzione.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ovviamente ajax non puo' sottrarsi alla same-domain policy

  4. #4
    Ah ecco quindi stavo cercando di fare un cavolata :P vi ringrazio, potete indicarmi qualche link in cui approfindire l'argomento ? Prevedo di usare ajax decisamente spesso e penso di dover tappare questi buchi :P
    Grazie

  5. #5
    Originariamente inviato da artorius
    Non puoi farlo per un sacco di ragioni, ma la principale è che AJAX non accetta richieste ad una pagina con dominio diverso da quello in cui lo script è in esecuzione.
    Sai dirmi dove trovo dettagli (italiano od inglese) su questo fatto.
    Ho sviluppato alcune applicazioni javascript che girano direttamente sul client ed accedono a documenti arbitrari nel web (es per farne un dump esadecimale) e non ho riscontrato problemi.
    Vorrei documentarmi meglio su questa "same-domain policy" di ajax...

    Grazie a chi ha qualche dritta da darmi.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  6. #6
    Ho trovato molto interessante questo articolo: http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

  7. #7
    Grazie.

    Però questo riguarda Jsonp e/o jquery, mentre il mio dubbio riguardava javascript in generale.

    L'unica cosa che ho appurato è che se il protocollo della applicazione chiamante è "file" (cioè se esegue in locale) allora può accedere a qualsiasi dominio e protocollo (salvo che il server accetti la connessione).

    In sintesi sembra che sia perfettamente possibile e lecito accedere a domini e file arbitrari tramite ajax se la applicazione gira direttamente sul client anzichè venire scaricata da un server.

    Chiaramente andranno usati solo indirizzi assoluti, e tutti i file riferiti (script da includere) dovranno a loro volta risiedere sul client.

    Sbaglio?
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    si', sbagli
    con firefox hai provato a fare quello che dici?

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    @ softhare

    Dato che non si finisce mai di imparare, ho provato con IE, Firefox, Chrome ma non ho avuto risultati... puoi postare un esempio a te funzionante?

    ciao

    Edit: con IE va... dopo le solite richieste di autorizzazione
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    con firefox hai provato a fare quello che dici?
    Con safari funziona. COn firefox non ho provato, ma voglio proprio provare.
    Ti farò sapere.

    @br1
    puoi postare un esempio a te funzionante?
    Non posso postare tutta la applicazione, e solo qualche riga non servirebbe.
    Se vuoi ti mando la applicazione in privato così la provi come vuoi...
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.