n° 219
Novembre 2017
Gennaio 17, 2018, 02:52:29 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Javascrpt su file esterni  (Letto 352 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
secks
Jr. Member
**

Karma: +0/-0
Scollegato Scollegato

Messaggi: 96


Mostra profilo
« inserita:: Dicembre 23, 2017, 12:20:45 »

Salve,

per ottimizzare il codice di un progetto web sto cercando di suddividere le funzioni in js su più file ma sto riscontrando vari problemi:

Nella prima pagina web index.php inizialmente avevo tutto il codice, ora con include ho separato le voci uguali per tutte le pagine iniziando con l'HTML:

<?php
   include "phpPatch/navbar.php";
?>

Fin qui tutto ok.

Poi ho separato il javascript che avevo alla fine della pagina su un altro file: index.js

<script src="index.js" type="text/javascript"></script>

Fin qui tutto ok.

Il mio desiderio sarebbe di suddividere il file index.js su altri file esterni spostando le funzioni comuni, ho aggiunto in coda lo script:

<script src="funcs.js" type="text/javascript"></script>

però ho riscontrato i seguenti problemi:

- una funzione che si trova in funcs.js non viene vista su index.js (errore no defined).
- su funcs.js non riesco a gestire dei variabili generate da ajax, ad esempio sulla seguente funzione le variabili cod e des non vengono valorizzate:


                   $.ajax({
                       url: 'UtyFuncs/sql_select.php',
                           method:"GET", 
                           data:{tabella:tab,cliMai:mai,cliPwd:pwd},
                           dataType:"text", 
                       success: function(res){
               
                                 var msg = "";
                                 if(res === "NO")
                                    msg = err;
                                 else
                                 {
                                    var a = res.split(";");
                                    var cod = a[0];
                                    var des = a[1];
                                    
                                    sessionStorage.setItem('SessCliMai', mai);
                                    sessionStorage.setItem('SessCliCod', cod);
                                    msg = "Welcome " + des;
                                    
                                    //$("#frmClienteA").html("LOGOUT");
                                    document.getElementById("frmClienteA").innerHTML = "LOGOUT";
                                 }
                                 $("#climessage").html(msg);                                 
                                 CarrelloQta();   

                       }
                   });      


Qualche dritta?

Grazie .
Paolo.





Registrato
paooolino
Full Member
***

Karma: +16/-10
Scollegato Scollegato

Messaggi: 383

Ideas in programming


Mostra profilo WWW
« Risposta #1 inserita:: Dicembre 23, 2017, 06:52:02 »

Ciao,

il browser carica ed *esegue* immediatamente lo script js, per cui PRIMA dovresti includere le funzioni funcs.js e POI index.js che le utilizza.

sul risultato poi della chiamata ajax bisogna debuggare, occorre vedere cosa restituisce il php. Devi abituarti a usare la console per sviluppatori ed ispezionare la chiamata nel tab "Network" per vedere cosa succede. In alternativa potresti dare un

console.log(res)


come prima istruzione della funzione "success" per vedere che valore prende.
Registrato

secks
Jr. Member
**

Karma: +0/-0
Scollegato Scollegato

Messaggi: 96


Mostra profilo
« Risposta #2 inserita:: Dicembre 24, 2017, 12:51:14 »

Grazie per le dritte.

Nei prossimi giorni ci provo.

Saluti e auguri. Sorriso
Paolo.
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines