Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    10

    Chiamare file.php da funzione javascript

    Ciao a tutti, come da titolo non riesco a capire come chiamare un file.php da una funzione in javascript. Per essere più preciso:

    Ho due file, uno scritto in php che si collega a un database e dovrebbe stampare il suo contenuto in una tabella, chiamiamolo file.php .
    Ho una funzione javascript in un altro file, chiamamolo file.js, che fa un controllo tramite un if e se la condizione è vera dovrebbe chiamare il file.php per stampare il contenuto del database.

    //file.js

    function miafunzione{
    if(condizione){
    //dovrei chiamare il file.php
    }
    else{
    //fai altro
    }
    }


    //file.php

    <?php
    //accedi al database e stampa a video il contenuto tramite una tabella
    ?>


    Qualcuno sa come si fa? Grazie

  2. #2
    Lo fai con ajax.
    Se utilizzi un framework tipo jQuery è molto semplice qui trovi tutti i dettagli: http://api.jquery.com/jquery.ajax/.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    10
    Grazie con ajax sono riuscito a chiamare il file.php. Ora ho solo un ultimo problema, visto che da specifiche non posso usare innerHTML come posso sostituirlo?
    codice:
    function ajaxGestore(str){
        var xmlHttp;
        try{ 
            xmlHttp = new XMLHttpRequest();
        }
        catch(e){
            try{
                xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(e){
                try{
                    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(e){
                    window.alert("il tuo browser non supporta AJAX!");
                    return false;
                }
            }
        }
        xmlHttp.onreadystatechange = function(){
                if(xmlHttp.readyState == 4){
                    document.getElementById("bodyRoom").innerHTML = xmlHttp.responseText;
                }
        }
        xmlHttp.open("GET", "vittoria.php?q="+str, true);
        xmlHttp.send();
    }

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Non capisco. Il tuo esempio usa innerHTML.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    10
    La funzione che ho scritto per adesso fa uso di innerHTML. Nel codice l'ho scritto solo perche ho trovato un esempio simile che ne faceva uso. Da specifiche pero non posso utilizzarlo e la mia domanda è: C' è un modo di fare la stessa cosa che fa innerHTML (che in questo caso sostituisce la risposta del file PHP, che è una tabella, al contenuto del elemento con id bodyRoom) senza usarlo?

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Qual'è la specifica ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    10
    La limitazione (intendo questo con "specifica") è che nello sviluppo del mio progetto non posso usare innerHTML. Quindi anche se adesso scritto in quel modo funziona tutto, non va comunque bene perché ho usato innerHTML. Devo quindi trovare il modo di "farlo funzionare" sostituendolo con qualcosa di equivalente.

  9. #9
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao

    La limitazione (intendo questo con "specifica") è che nello sviluppo del mio progetto non posso usare innerHTML.
    Non vorremmo sembrare indiscreti ma possiamo sapere se c'è un motivo valido, o quantomeno particolare, per cui non puoi usare tale proprietà?

    E' un esercizio scolastico e tra le specifiche c'è indicato che non puoi usarlo?
    E' una sfida con amici nerd programmatori sull'uso di metodi il meno consueti possibile?
    E' semplicemente un tuo schiribizzo/pallino/fissazione?
    E' nella tua blacklist?
    Ti fa schifo?
    Cos'altro?

    Devo quindi trovare il modo di "farlo funzionare" sostituendolo con qualcosa di equivalente.
    Non che non ci siano altri modi, anzi ce ne sono diversi; ad esempio potrei suggerirti di usare il metodo html() di jQuery, ma magari tu potresti dirmi "no, jQuery mi da prurito"; potrei suggerirti createElement() e appendChild() ma mi aspetto che tu mi dica "no, mio cugino ha detto di non usarli"; potrei dirti document.write(), e tu potresti dirmi "il mio pc non lo digerisce"... e così via.

    Perdona il sarcasmo, ma è possibile che tu abbia delle idee confuse (senza alcuna offesa) per cui pensi non sia opportuno utilizzare certi sistemi. Se però vuoi ottenere soluzioni/aiuti/suggerimenti mirati, più o meno validi e adeguati alla situazione, non credi sia utile, se non indispensabile, fornire tutte le indicazioni e i dettagli del caso. Se dici "non posso usare questo", non chiarisce perché non puoi farlo, e non fornisce alcuna indicazione in più per far capire cosa invece potresti usare.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    10
    Si il motivo è quello che hai accennato tu, è un progetto da sviluppare per l'università e il professore richiede che non venga usato innerHTML (non so per quale motivo sinceramente). Sarei molto interessato alla soluzione con createElement() e appendChild(), vabene anche document.write(), che ho usato abbondantemente . Sicuramente ho le idee un po confuse, essendo il primo progetto non ho diciamo tutta questa manualità
    Ultima modifica di Trispo; 15-04-2017 a 01:50

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.