Visualizzazione dei risultati da 1 a 10 su 15

Hybrid View

  1. #1
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Non c'ho capito molto e non capisco la scelta di creare due pagine.js, se stai cercando di modificare uno script sviluppato da altri ricordati che ti occorre una ottima conoscenza sia di js che di ajax (che una guida non può bastare e il forum non può sopperire alle tue "mancanze").
    Se invece stai cercando di realizzare qualcosa senza conoscenze (con un abuso indiscriminato del copia/incolla) prova a spiegare cosa devi fare forse si trova un'alternativa più semplice e/o funzionale.
    Chiaramente tutto quello fin quei detto senza voler offendere nessuno.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    32
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Non c'ho capito molto e non capisco la scelta di creare due pagine.js, se stai cercando di modificare uno script sviluppato da altri ricordati che ti occorre una ottima conoscenza sia di js che di ajax (che una guida non può bastare e il forum non può sopperire alle tue "mancanze").
    Se invece stai cercando di realizzare qualcosa senza conoscenze (con un abuso indiscriminato del copia/incolla) prova a spiegare cosa devi fare forse si trova un'alternativa più semplice e/o funzionale.
    Chiaramente tutto quello fin quei detto senza voler offendere nessuno.
    sono uno studente di ingegneria informatica e tutto quello che sto postando è realizzato interamente da me, non c'è nessun copia/incolla. Devo realizzare un'applicazione web come consegna del corso universitario e, poichè ci è stato detto di cercare informazioni in rete prima di rivolgerci al docente ho scritto sul forum.

    La scelta di dividere il codice su piu pagine è per evitare ridondanze nel codice, aspetto che ci viene valutato parecchio. Di conseguenza avendo da fare molte chiamate ajax ho la necessità di creare una funzione "di libreria" da chiamare ogni volta che devo eseguire una chiamata, ovvero questa, alla quale ho fatto un po di modifiche e correzioni:
    codice:
    function chiamata_ajax(dati, metodo, pagina, funzione) {	
    	var req;
    	dati = dati || "";
    	try { req = new XMLHttpRequest(); }
    	catch (e) {
    		try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
    		catch (e) {
    			try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
    			catch (e) {
    				window.alert("Il tuo browser non supporta AJAX");
    				return;
    			}
    		}
    	}
    	if(metodo == "GET")
    		pagina = pagina+"?q="+dati
    	req.open(metodo, pagina, true);
    	req.onreadystatechange = funzione;
    	req.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    	if(metodo == "POST")
    		req.send(dati);
    	else
    		req.send();
    }
    detto questo, cerco di spiegare nuovamente il problema anche se non è molto semplice.

    La funzione scritta sopra viene chiamata ogni volta che devo fare una chiamata ajax, il vantaggio è che in ogni pagina html che realizzo mi è sufficiente includere il file contetente quella funzione senza doverla incollare negli script unici della pagina html (che chiamerò prova.html per praticita).

    Nella pagina prova.html includerò un altro script, contenente le funzioni sviluppate ESCLUSIVAMENTE per quella pagina, script che chiamerò script.js.

    in script.js, per effettuare una chiamata ajax sarà sufficiente scrivere:
    codice:
    chiamata_ajax("dati da dare al server", "get/post", "pagina.php", funzione_onreadystatechange);
    l'argomento "funzione_onreadystatechange" conterrà il nome della funzione da chiamara ogni volta che lo stato della chiamata cambia e sarà definita sempre in script.js.

    il problema sorge perche questa funzione è definita in questo modo:
    codice:
    function funzione_onreadystatechange() {
       if(OGGETTOXMLHTTP.readyState == 4) {
          if(OGGETTOXMLHTTP.status == 200)
             //Faccio qualcosa
       else
          alert("Errore, AJAX non funziona: " + richiesta_login.status);
       }
    }
    L'accesso a "OGGETTOXMLHTTP", che nella funzione chiamata_ajax() si chiama req, non è consentito, poiche creato all'interno della funzione.

    come detto prima, dichiarando req all'esterno della funzione chiamata_ajax() non risolvo il problema poiche tale oggetto, se utilizzato da piu di una funzione_onreadystatechange() causerebbe conflitti.

    La mia domanda è quindi:
    come fare per far si che ogni chiamata della funzione chiamata_ajax() sia a se stante e che l'oggetto creato sia accessibile soltanto dalla funzione funzione_onreadystatechange() che viene passata come argomento quando si effettua la chiamata?

    Mi scuso ma meglio di cosi non riesco a spiegarmi.

    Grazie dell'aiuto

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Quote Originariamente inviata da lomba91 Visualizza il messaggio
    Devo realizzare un'applicazione web come consegna del corso universitario e, poichè ci è stato detto di cercare informazioni in rete prima di rivolgerci al docente ho scritto sul forum.
    E' agghiacciante che una università possa pensare che internet possa fare le funzioni dell'insegnate. La domanda è che Ingeneri laureerà questa università?
    Scusa ma questo umile autodidatta (con notti e notti sui libri e sui codici) non può permettersi di sostituirsi al tuo professore.
    Ora le informazioni/aiuti su internet li hai cercati senza soluzione, visto anche la complessità del progetto e le difficoltà a spiegarlo per iscritto (che non vuole dire che non ti sai spiegare e che a volte mettere per iscritto un concetto non è facile) penso che tu ora possa chiedere tranquillamente aiuto al professore (che molti me compreso pensano sia il suo lavoro per il quale è pagato).

    Ultima modifica di cavicchiandrea; 28-06-2014 a 16:13
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2026 vBulletin Solutions, Inc. All rights reserved.