ciao,
micbin ha scritto:
ma come devo fare per passare al server una mole di caratteri consistenti?
stai facendo bene, infatti con una richiesta di tipo POST puoi fornire una maggior quantità di dati al servizio. Il problema che ottieni è causato da un formato dati che il server non si aspetta. Mi spiego meglio, guarda qui:
data: { value: "pippo" },
Se a "data" assegni un oggetto javascript, jQuery nel creare il contenuto della richiesta POST serializzerà quell'oggetto così:
Puoi verificarlo usando
Firebug o un altro tool che ti permetta di ispezionare il traffico http.
Il metodo del tuo servizio, tuttavia, si aspetta una stringa JSON (dato che l'hai decorato con l'opzione RequestFormat=WebMessageFormat.Json) e nel tentativo di parsare i dati solleverà un'eccezione. Allora, risolvi in questo modo, assegnando a "data" una vera stringa JSON:
data: '{ "value": "pippo" }',
Così dovrebbe andare. In alternativa, se preferisci continuare a lavorare con gli oggetti javascript, puoi lasciare che sia il plugin
JSON Encoder di jQuery a fare la serializzazione JSON per te. Lo utilizzeresti in questo modo:
data: $.JSON.encode({ value: "pippo" }),
In ultimo, tieni presente che anche con la POST esiste un limite di default di 8kb (se non ricordo male?), ma puoi facilmente riconfigurare questo limite dal web.config. Leggi qui:
http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/9ec67e8a-283e-4a6c-8d91-f89b0bd10dca/ciao,
Modificato da BrightSoul il 23 settembre 2011 20.04 -