Risposta Ajax - c'è un accordo sulla struttura?

3

Dì, faccio una richiesta ajax a un server da una pagina, qualcosa come "mostra più articoli". Esiste un accordo comune sul formato o piuttosto sulla struttura in cui deve essere restituito un risultato?

Qualcosa del genere:

{articles: [{id: ..., title: ..., created_by: ...}, {id: ..., title: ..., created_by: ...}, {id: ..., title: ..., created_by: ...}]

o

{result: "ok", data: [{id: ..., title: ..., created_by: ...}, {id: ..., title: ..., created_by: ...}, {id: ..., title: ..., created_by: ...}]

o

[{id: ..., title: ..., created_by: ...}, {id: ..., title: ..., created_by: ...}, {id: ..., title: ..., created_by: ...}]

Avviso, sto parlando di richieste / risposte ajax, non API REST.

E anche, cosa succede se si è verificato un errore? Qual è la struttura di una risposta ajax contenente informazioni su un errore?

    
posta Koodi 24.10.2017 - 06:30
fonte

2 risposte

2

Per quanto ne so: no. Non esiste un approccio o uno standard generico.

Personalmente mi assicuro di restituire sempre un oggetto, mai un singolo valore o array.

Questo garantisce la compatibilità. Ad esempio, se aggiungo un nuovo campo, il codice esistente non si interromperà e lo ignoreremo.

Per quanto riguarda la gestione degli errori, controllo se esiste una proprietà dell'oggetto chiamata error . Se è indefinito, va tutto bene. Se si tratta di una stringa, qualcosa è andato storto.

    
risposta data 24.10.2017 - 07:27
fonte
1

È molto più importante che le tue risposte abbiano una struttura coerente tra loro all'interno del tuo progetto rispetto a quella che si conformano a qualsiasi altro progetto. Ciò significa che puoi utilizzare un codice generico per la comunicazione, la gestione degli errori, la formattazione dei dati, magari l'ordinamento e il filtraggio, ecc.

Se esistesse uno standard de facto per la composizione interna delle risposte Ajax, sarebbe logico seguirlo per rendere il tuo progetto più comprensibile per tutti gli altri che potrebbero doverlo affrontare. Ma dal momento che non c'è, tu devi istituire il tuo, ed è una buona idea farlo.

    
risposta data 24.10.2017 - 08:19
fonte

Leggi altre domande sui tag