Carica JSON immediatamente per SPA invece di AJAX? (Python = AngularJS)

0

Ho accesso a un oggetto Response nel mio backend Python per la restituzione di pagine HTML, ecc. Posso dichiarare intestazioni, tipo di contenuto, ecc.

Invece di re-ingegnerizzare Python per usare qualcosa come Django / Flask (che mi permetterebbe di analizzare i dati JSON sul back-end e attaccare a destra sulla pagina), potrei fare qualcosa come aggiungere una chiave di intestazione di risposta arbitraria a mantieni il mio JSON iniziale che deve essere caricato sulla pagina, quindi analizza quel JSON con il mio AngularJS? O è questa cattiva pratica / un pigro & dirty hack?

La pagina HTML che ritorna contiene tutti i tag necessari per chiamare JS che fa funzionare l'app e fa richieste Ajax mentre l'utente interagisce con l'app, ma vorrei davvero passare JSON durante il caricamento iniziale senza ricostruire come il nostro Python serve file / modelli HTML.

    
posta JacobIRR 05.08.2017 - 21:02
fonte

2 risposte

2

Preferirei incorporare il json nel contenuto della pagina piuttosto che nell'intestazione.

Le migliori pratiche per incorporare JSON arbitrario nel DOM? su stackoverflow ha alcuni suggerimenti, come l'uso di un tag <script> o di un attributo data- .

Assicurati di codificarlo / evaderlo in modo appropriato, in modo che un valore di stringa inatteso non possa interrompere l'analisi del tuo html (causa le vulnerabilità di xss).

    
risposta data 05.08.2017 - 21:27
fonte
0

Le intestazioni di risposta non sono disponibili da javascript quindi la soluzione proposta non funzionerebbe per te.

Non conosco la tua configurazione ma meno di una struttura completa dovrebbe essere in grado di gestire questa attività. È possibile inserire un tag script vuoto con un id nel file html. Quindi puoi analizzare il file usando un parser html, sostituendo il contenuto nello script con

var myData=JSON...

Prima di pubblicare il file.

    
risposta data 05.08.2017 - 21:33
fonte

Leggi altre domande sui tag