Come mostrare i dati all'utente usando PHP?

1

Cerco sempre di trovare nuovi metodi per lo sviluppo. Così ho esaminato alcuni siti Web e analizzato i loro modi di presentazione.

  1. Ritorno di una parte della pagina usando AJAX

    Normalmente userò un array per restituire i valori, ad esempio:

     //GET User details
    
     $user_id = $_POST['user_id'];
    
     $user_details = $this->get_user($user_id);
    
     if ($user_details['status'] == true) {
         exit(json_encode(array('status'=>true, 'data'=>$user_details['data'])));
     } else {
         exit(json_encode(array('status'=>false, 'reason'=>'SomeReasons....')));
     } 
    

Ma vedo che alcuni siti restituiscono "HTML". È preferibile in qualche modo?

Inoltre, qual è il metodo migliore da utilizzare: AJAX o iframe ?

    
posta Red 10.03.2013 - 07:42
fonte

2 risposte

2

Non sono necessariamente d'accordo completamente con la risposta di Tom, quindi ho intenzione di esprimere la mia opinione.

In generale, dovresti evitare di restituire XHTML e invece restituire JSON, trasformando il risultato nel DOM usando JavaScript e il tuo framework di scelta.

Ci sono alcune situazioni come il ritorno di grandi quantità di dati dove questo non è solo non pratico, ma si finisce per duplicare la presentazione sia in JavaScript che nel renderer iniziale. Un esempio di questo recentemente per me sarebbe una parte di reporting di un'applicazione a cui stavo lavorando. Ho avuto l'endpoint del servizio configurato per restituire dati XML, per il sito Web ho creato un adattatore per trasformare i dati con e il foglio di stile XML e restituire l'XHTML. Ovviamente è possibile restituire XML al browser ed eseguire il lato client XSL.

In sintesi, in genere restituisco JSON, tuttavia, secondo me, esistono tempi appropriati per restituire XHTML, e questo è il motivo per cui dici di vederlo online in alcuni punti.

L'uso di iframe è un modo "vecchio stile" per aggiornare parte della pagina senza un aggiornamento completo. Questo non è lo stesso effetto di AJAX dato che la maggior parte dei browser ora limita l'accesso programmatico al DOM di iframe , quindi da ciò puoi dedurre che Ajax è il modo corretto di farlo.

    
risposta data 10.03.2013 - 14:42
fonte
1

È sempre meglio restituire JSON anziché HTML nel risultato AJAX. Restituendo HTML stai lasciando che il tuo livello di presentazione si diffonda nel tuo livello dati.

In generale si dovrebbe usare AJAX piuttosto che iFrame poiché è una soluzione più ordinata e consente il bookmarking (se lo si imposta). Esistono alcuni casi d'uso in cui iFrame sono appropriati, ad esempio quando hai bisogno di dati da un altro sito. Per ulteriori approfondimenti dai un'occhiata a qui e qui .

    
risposta data 10.03.2013 - 12:44
fonte

Leggi altre domande sui tag