Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di ganesha
    Registrato dal
    Jan 2003
    Messaggi
    357

    [XMLHttpRequest] richiamare file remoto

    Buongiorno, spero sia la sezione giusta per il problema che ho da sottoporvi

    Siamo in una rete locale.

    C'è un server (ubuntu-server, apache, php, mysql) con uno script php che dovrà servire ad inserire dei dati nel db, ma che al momento stampa semplicemente una stringa ( echo "ciao!"; ).

    Se richiamo, da un altro pc, con un browser quello script (http://192.168.0.100/service/save.php), compare il testo 'ciao!' come ci aspetteremmo.

    Se invece il file lo richiamo, sempre da un altro pc, da una pagina web con la seguente funzione js, non mi ritorna alcun risultato:
    codice:
    function manda(){
      var http = new XMLHttpRequest();
      var url = "http://192.168.0.100/service/save.php";
      var parms = "num=12345&txt=abcde";
      
      http.open("POST", url, true);
    
      http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http.setRequestHeader("Content-length", parms.length);
      http.setRequestHeader("Connection", "close");
    
      http.onreadystatechange = function() {
        if(http.readyState == 4 && http.status == 200) {
    		  alert(http.responseText);
        }
      }
      http.send(parms);
    }
    Inoltre, se la pagina web con la funzione qui sopra la metto nel server, essa funziona e mi compare l'alert con il testo restituito.


    Non riesco a capire perché quella funzione js da remoto non funziona.

    Qualcuno mi può dare una dritta?

    Grazie per l'attenzione

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    La pagina che effettua la chiamata ajax risiede sullo stesso server della risorsa php? detto in parole povere qual'è l'url che usi per aprire la pagina? dalla descrizione che hai esposto mi sembra di capire che non è cosi. In questo caso è normale che non funzioni perche javascript opera solo sullo stesso dominio(inteso che la pagina deve essere accessibile nello stesso dominio della risorsa esterna). L'unico modo per ovviare è usare l'approcio jsonp che ti permette di effettuare chiamate cross domain. L'implementazione di una chiamata ajax/jsonp non è pero semplicissima.

  3. #3
    Utente di HTML.it L'avatar di ganesha
    Registrato dal
    Jan 2003
    Messaggi
    357
    Non sapevo che l'xmlhttprequest poteva essere usato solo sullo stesso dominio.
    Ecco perché non funzionava.

    Ok, ora cerco informazioni su jsonp.

    Grazie Vindav!


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.