Domanda

È possibile formattare il modo in cui un oggetto viene restituito come JSON da un PageMethod? vale a dire. rimuovendo il primo " d " elemento dai dati, senza scrivere da zero JSON.

Da {" d " ;: {" name " ;: " bob " ;, " email " ;: " bob@example.com" }}

A {" name " ;: " bob " ;, email: " bob@example.com" }

È stato utile?

Soluzione

No. Il serializzatore JSON di Microsoft aggiunge la d per qualche motivo sul lato server e il codice AJAX sul lato client che deserializza la stringa JSON si aspetta che sia lì.

Altri suggerimenti

Il parametro " d " extra viene aggiunto dal framework .NET come misura di sicurezza aggiuntiva contro gli attacchi XSS [ fonte ]. È incluso quando il " Content-Type " della richiesta specifica " application / json " .

Penso che puoi ottenere il framework per escluderlo (cioè non racchiudere il risultato nel " d " ) se specifichi semplicemente " Content-Type " della richiesta come qualcosa di diverso da " application / json " . Prova a rimuovere quell'intestazione dalla richiesta (se puoi) e vedi cosa restituisce .NET.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top