Ajax con risultato si/no

Discussione in 'Ajax' iniziata da bubino8, 10 Gennaio 2018 alle 10:46.

  1. bubino8

    bubino8 Utente Attivo

    Registrato:
    28 Aprile 2017
    Messaggi:
    235
    Mi Piace Ricevuti:
    15
    Punteggio:
    18
    Sesso:
    Maschio
    Località:
    BZ
    Buongiorno,

    tramite ajax vado a recuperare la lista dei clienti in base alla ricerca.
    un volta recuperati i dati vado a stamparli in un <div>
    Codice:
    success: function(restituisci){
                    var separo = restituisci.split("|-|");
                    var quantinew = separo[1];
                    var quantiold = $("input[id=nrricerca]").val();
                    if(quantiold != quantinew){
                        $("div#risultato").html(separo[0]);
                    }
                },
    
    quando "quantiold" e "quantinew" sono appunto diversi mi stampa correttamente il contenuto separo[0].
    quanto è = non dovrebbe eseguire nulla o sbaglio? Invece mi va a svuotare il <div>

    Qualcuno sa come fare?

    Grazie
     
  2. WmbertSea

    WmbertSea Utente Attivo

    Registrato:
    28 Novembre 2014
    Messaggi:
    94
    Mi Piace Ricevuti:
    7
    Punteggio:
    8
    Ciao, non so se hai già risolto, comunque sia senza vedere la pagina in esecuzione è difficile capire dove può essere il problema, anche perché lo script che hai postato non può essere testato se non all'interno del suo contesto.

    Posso solo fare delle supposizioni.
    Fermo restando che non ci sono errori di sintassi, anche perché tu stesso dici che in alcuni casi ottieni il risultato aspettato, si può stabilire che quella condizione sta funzionando ma probabilmente, nel presunto caso in cui i due valori siano uguali, questi in realtà non lo sono, producendo un falso positivo. Tale condizione probabilmente risulta sempre "vera".

    In casi del genere è possibile risalire alla causa con un semplice debug. Può esserti utile inserire qualche console.log con cui verificare (attraverso la console del tuo browser) i valori restituiti dalle diverse variabili o espressioni in gioco.

    Ad esempio, potresti inserire prima della condizione (cioè prima di quel tuo if), un'istruzione di questo tipo:
    Codice:
    console.log( '(', quantiold, '!=', quantinew, ') =>', (quantiold != quantinew) );
    Ora non dovrai fare altro che aprire la console del tuo browser (in genere puoi farlo premendo F12 ed eventualmente selezionando la scheda "Console") quindi eseguire il tuo script e vedere cosa ti salta fuori.

    I valori restituiti nella console ti potranno aiutare a risalire al problema.


    PS: Qualche consiglio...
    Questo selettore $("input[id=nrricerca]"), sebbene sia sintatticamente corretto, è un modo "sporco" di scrivere più semplicemente $("#nrricerca").
    Allo stesso modo anche in questo caso $("div#risultato"), in cui il nome del tag è ridondante, si può usare una forma più pulita (e ottimale) specificando semplicemente l'id $("#risultato").
     
  3. bubino8

    bubino8 Utente Attivo

    Registrato:
    28 Aprile 2017
    Messaggi:
    235
    Mi Piace Ricevuti:
    15
    Punteggio:
    18
    Sesso:
    Maschio
    Località:
    BZ
    Ciao graze per la risposta.
    Potresti spiegarmi meglio come funziona e dove vedere i risultati sulla console?

    Grazie per avermi fatto notare $("input[id=nrricerca]") adesso che ci penso essendo id sono già univoci (almeno dovrebbero esserlo).


    Grazie
     
  4. bubino8

    bubino8 Utente Attivo

    Registrato:
    28 Aprile 2017
    Messaggi:
    235
    Mi Piace Ricevuti:
    15
    Punteggio:
    18
    Sesso:
    Maschio
    Località:
    BZ
    Devo ancora risolvere ma mi stanno già aiutando un sacco a capire.
    Prima per controllare i valori facevo alert ed era un caso adesso con la console faccio velocissimo i test.

    Spero di riuscire a risolvere altrimenti pazienza

    Grazie ancora
     
  5. WmbertSea

    WmbertSea Utente Attivo

    Registrato:
    28 Novembre 2014
    Messaggi:
    94
    Mi Piace Ricevuti:
    7
    Punteggio:
    8
    Bene, quindi sei riuscito a vedere i risultati sulla console?

    Con l'istruzione che ti ho indicato, cosa viene scritto sulla console?
    Per caso ti salta fuori qualche valore undefined?

    Eventualmente posta qui quel log.
     
  6. bubino8

    bubino8 Utente Attivo

    Registrato:
    28 Aprile 2017
    Messaggi:
    235
    Mi Piace Ricevuti:
    15
    Punteggio:
    18
    Sesso:
    Maschio
    Località:
    BZ
    Ciao sisi ho capito come fare non avevo cancellato la cache.

    Caspita cosi a parole non riesco a spiegare:D.
    Vedo se riesco a caricarlo per far vedere come sarebbe il funzionamento.

    Scrivo appena è caricato così a tempo perso magari mi aiuti a dare un'occhiata.
     
  7. bubino8

    bubino8 Utente Attivo

    Registrato:
    28 Aprile 2017
    Messaggi:
    235
    Mi Piace Ricevuti:
    15
    Punteggio:
    18
    Sesso:
    Maschio
    Località:
    BZ
    Eccomi non badare troppo al CSS o copiato solo la parte interessata alla buona.

    Qui è la pagina base
    http://bubino.it/ricerca/index.php

    Qui già con un parametro di ricerca(ho fatto un po di casino con js solo per fargli l'effetto della scrittura).
    http://bubino.it/ricerca/index.php?cerca=test funzioni ricerca

    In pratica voglio fare che quando i risultati (numero di clienti trovati) solo = a quelli precedenti non ricarica il contenitore <div>
    Magari mi sono chiarito un po di più facendo questo esempio.
    Se riesci ad aiutarmi ti ringrazio molto.

    Ciao
     
  8. WmbertSea

    WmbertSea Utente Attivo

    Registrato:
    28 Novembre 2014
    Messaggi:
    94
    Mi Piace Ricevuti:
    7
    Punteggio:
    8
    Credimi, non capisco che devo fare su quella pagina.
    Puoi descrivermi un situazione di test (magari con i due casi in cui ottieni o no il risultato aspettato) con tutti i dettagli dei passaggi che devo effettuare per poter riprodurre il problema?
     
  9. bubino8

    bubino8 Utente Attivo

    Registrato:
    28 Aprile 2017
    Messaggi:
    235
    Mi Piace Ricevuti:
    15
    Punteggio:
    18
    Sesso:
    Maschio
    Località:
    BZ
    Ciao perdonami sono un po imbranato a spiegarmi o_O.
    Dunque:
    Vai al sito http://bubino.it/ricerca/index.php e inserisci manualmente nella ricerca il testo "test funzioni ri". Mentre scrivi ovviamente i clienti vengono scartati.

    Quando arriverai ad inserire da "test funzioni " fino a "test funzioni ri" i risultati di ricerca saranno sempre 5. A quel punto il contenitore dove vengono stampati i clienti non dovrebbe ricaricarsi invece lo fa.

    Se mi sono spiegato ancora peggio fammi sapere, che se hai tempo ti creo un archivio e facciamo prima:D.

    Grazie ancora
     
  10. WmbertSea

    WmbertSea Utente Attivo

    Registrato:
    28 Novembre 2014
    Messaggi:
    94
    Mi Piace Ricevuti:
    7
    Punteggio:
    8
    Figurati, cerchiamo magari di fare un passo alla volta perché ancora non mi sono chiari i vari passaggi per riprodurre il problema.

    Sono su quella pagina, vedo la texbox e i vari pulsanti. Sotto, vedo già una ventina di risultati anche senza digitare nulla. Questo è normale?

    Seleziono la texbox e inizio a digitare la stringa, ma non vedo alcun aggiornamento di risultati. La pagina resta statica. Cosa intendi quindi per " i clienti vengono scartati"?

    I risultati sono sempre una ventina e non noto comunque nessun ricaricamento.

    Tieni presente che in console mi vengono segnalati degli errori:
    Suppongo che il sistema non mi stia funzionando proprio perché mancano questi file. Ovviamente su questa pagina online dovresti modificare i percorsi che tu stai usando per il loacalhost.

    Per ora prova a correggere quei percorsi, vediamo se si riesce a testare online.
     
  11. bubino8

    bubino8 Utente Attivo

    Registrato:
    28 Aprile 2017
    Messaggi:
    235
    Mi Piace Ricevuti:
    15
    Punteggio:
    18
    Sesso:
    Maschio
    Località:
    BZ
    Ciao, ti ho mandato in privato il link.

    SI è normale se non c'è nessuna ricerca mostra tutti gli utenti.

    se non c'è nessun cliente che corrisponda al testo inserito nella text, mostra "Non è stato trovato nessun cliente".

    Se hai bisogno di altro chiedi pure e cerco di spiegermi.

    Grazie
     
Sto caricando...

Condividi questa Pagina