176 messaggi dal 12 luglio 2007
ciao,
su un sito web ho la necessità di scrivere un webmethod che riceva una classe javascript complessa ma che invece di deserializzarla come al solito con oggetti .net mi arrivi come semplice parametro stringa da salvare in un database.

sto provando in tutti i modi lato javascript a girare attorno al comando JSON.stringify(jsonObject) con varie varianti tipo JSON.stringify({ filtro: jsonObject}) ma ottengo sempre errori.
la chiamata è collaudata, è una semplice $.ajax con datatype Json e lato vb.net il metodo si aspetta (filtro as string)

qualcuno di voi ci è già passato?
nel dubbio vi dico che nella stessa pagina ho altre chiamate simili ma che, mappando oggetti custom fanno il loro dovere.
176 messaggi dal 12 luglio 2007
allora, dopo altri esperimenti quello che ho capito è che la mia pagina tenti sempre in autonomia un parsing dell'input ricevuto da json ad altro. ma io non voglio che tenti nulla, mi piacerebbe che consideri il risultato una semplice stringa di testo.

il dato che arriva ovviamente è nel formato {filtro: oggettoFiltro} dove filtro è il nome del parametro e oggettoFiltro è la parte che mi serve rimanga un testo. in realtà oggettoFiltro a sua volta è una stringa JSon e non so come mai il metodo tenti comunque una conversione in qualcosa. infatti vede che contiene parenteri graffe e quadre.

il mio metodo lato VB è fatto così:

<System.Web.Services.WebMethod()> _
Public Shared Function SalvaFiltro(filtro As String) As Boolean

se il data da javascript è fatto tipo {"filtro":"ciao mamma"} lo vede come stringa;
se invece è fatto tipo {"filtro":"{id:1}"} vuole per forza convertirlo in un oggetto che non è string e quindi va in errore.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.