Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19

Hybrid View

  1. #1
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Quote Originariamente inviata da Ciakko Visualizza il messaggio
    In che senso scritto da php? Il Js lo racchiudo sempre tra tag script
    nel senso che se hai scritto

    Codice PHP:
    echo "
    window.onload=function(){"

    se invece tieni quel codice in una pagina php

    allora devi fare

    codice:
    data: {'lastid':<?php echo $lastid ?>},
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    @Alhazred: Quindi se ho capito bene la pagina viene "presa in consegna" da Ajax e quindi si aspetta un risultato dall'elaborazione del codice. Non basta semplicemente far avviare quella pagina.

    @ciro78: Ok, chiaro.

    Grazie ad entrambi

  3. #3
    Da qualche tempo è possibile usare i websocket (una connessione bidirezionale client/server) invece del polling (chiamate Ajax cicliche).

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Nulla, non ci riesco. Nella pagina php ho messo solo echo 'ricarica' e in ajax gli ho detto che se data NON è uguale a ricarica deve fare il refresh. Aiuto per favore...

    codice:
    <script type="text/javascript">
    $(document).ready(function(){
        setInterval(function(){
        $.ajax({
        type: "POST",
        url: "chat_refresh.php",
        data: {'lastid':<?php echo $lastid ;?>},
        dataType: "html",
        success: function(data){
        if (data != ricarica) {document.location.reload(true);}
        },
        error: function(){alert("Chiamata fallita!!!");}
        });
        },3000);
        });
    </script>
    Codice PHP:
    include '../db/connessione.php';
        
        
    /*$lastid=$_POST['lastid'];
        $sql="SELECT id FROM `chat_home` order by id desc limit 1";
        $dati=mysql_query($sql);
        $riga=mysql_fetch_assoc($dati);
        $id_trovato=$riga['id'];
        if ($id_trovato > $lastid) {
        echo 'ricarica';
        } */
        
    echo 'ricarica'

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    La chiamata AJAX deve inviare i dati allo script php, lo script li legge come farebbe ricevendo i dati POST di un qualsiasi form.
    Una vota elaborati i dati, lo script PHP deve finire con un echo in cui metti i dati che deve intercettare la chiamata AJAX, se la risposta non deve essere una semplice stringa, ma un array o altro tipo di dato complesso, formattalo in formato JSON e fa l'echo della stringa ottenuta.

    Nel tuo codice dici alla chiamata AJAX cosa fare in caso di errore, ma non gli dici cosa fare se invece le cose vanno bene, quindi non fa niente.
    Devi mettere
    codice:
    success: function(data) {
        // data conterrà la stringa stampata da PHP
        // con i dati contenuti in questa stringa... facci qualcosa
    }

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    posta link alla pagina e sopratutto dicci che errore noti
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Ho letto diversi topic a riguardo, alla fine sono arrivato a questa soluzione:

    codice:
    $(document).ready(function(){
     setInterval(function(){
      
     $.ajax({
     type: "POST",
     url: "../chat/chat_refresh.php",
     data: {'lastid': '<?php echo $lastid ;?>'},
     dataType: "html",
     success: function(data){
     mydata(data);
        return data;
     },
     error: function(){alert("Chiamata fallita!!!");}
     });
     function mydata(data){
     alert(data);
     }
     },3000);
     });
    Senza il comando return data non va.
    Ora ho il problema che non mi invia la variabile lastid, infatti se in php faccio un echo di lastid di ritorno ho un campo vuoto. Lo script è a fondo pagina.

    Ho un'ultima domanda, sempre legata al topic.
    Uso questo comando per fare il refresh di una porzione di pagina, vorrei però che facesse il refresh senza la cache, è possibile farlo dal comando?
    codice:
    $("#input").load(location.href+" #input>*","");

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.