Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Jquery - Ajax e dataType

    Ho un problema con la classica richiesta ajax con il framework Jquery.
    Consultando la documentazione, ho visto che con dataType posso determinare il tipo di dati che la pagina php mi può restituire e in questo caso sono dei normalissi echo che possono variare tra "OK1", "OK2", e "KO".
    Mi chiedo allora per quale motivo nessuno dei 3 if che si trovano in success avvengono ?
    Lo sberleffo arriva dal fatto che l'alert che viene prima degli if mostra una delle tre parole che ho scritto prima come è giusto che sia !
    Forse il formato che arriva non è una stringa ? Ma allora dataType che ci sta a fare ?

    Codice PHP:
    $.ajax({
            
    type:"POST",
            
    url:"ajax.php",
            
    data:"act=buy,
            cache:false,
            dataType: "
    text",
            beforeSend: function(){
                // Loading
            },
            success: function(mess){
                var txt = mess;
                            alert(txt);
                if(txt=="
    OK1")
                    alert(txt);
                if(txt=="
    OK2")
                    alert(txt);
                if(txt=="
    KO")
                    alert(txt);
                
            },
            error: function(){
                // Errore
            }
        }); 

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, qui manca un apice data:"act=buy, ___ data:"act=buy",

    Ho provato ad usarlo, lasciando perdere i controlli che fai per l'esito(che ovviamente non conosco) usandeo staticamente echo 'OK' o OK1 nella pagina php l'alert lo vedo.

  3. #3
    è vero, copiando il codice e levando le parti non necessarie ho dimenticato i doppi apici ma nel file che provo l'errore non c'è e con quello nemmeno mi partirebe il codice !
    Il problema che ho ( ma che ho risolto cambiando metodo ) è che il primo alert veniva visualizzato senza problemi, ma i successivi if non partivano come se txt avesse un valore diverso da OK, OK1 e KO.
    Così è più comprensibile il codice. Per caso ti funziona lo stesso ora ?
    Codice PHP:
    $.ajax({
            
    type:"POST",
            
    url:"ajax.php",
            
    data:"act=buy",
            
    cache:false,
            
    dataType"text",
            
    beforeSend: function(){
                
    // Loading
            
    },
            
    success: function(mess){
                var 
    txt mess;
                
    // Nessuno dei tre if sotto avviene !
                
    if(txt=="OK1")
                    
    alert("prova 1");
                if(
    txt=="OK2")
                    
    alert("prova 2");
                if(
    txt=="KO")
                    
    alert("prova fallita");
                
            },
            
    error: function(){
                
    // Errore
            
    }
        }); 

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Si mi funziona cmq..
    io metto statico per prova echo 'OK'; o echo 'KO'; e fa l'alert del caso.

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.