Integrazione JSON con Javascript

venerdì 26 aprile 2013 - 11.30
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows Server 2008 R2  |  Visual Studio 2010  |  SQL Server 2008 R2  |  Javascript  |  Crystal Reports XI

_jack_ Profilo | Junior Member

Ciao,
non sapevo in quale sezione mettere il Thread, quindi scusate se ho sbagliato.

Ad ogni modo, ho necessità di usare un componente che riceve dei dati tramite JSON.
La demo che ho scaricato dal sito di questo componente lancia questa funzione:

<script> $(document).ready(function() { $('#calendar').fullCalendar({ editable: true, events: "json-events.php", eventDrop: function(event, delta) { alert(event.title + ' was moved ' + delta + ' days\n' + '(should probably update your database)'); }, loading: function(bool) { if (bool) $('#loading').show(); else $('#loading').hide(); } }); }); </script>

Il mio scopo è quello di sostituire "json-events.php" con un webservice che ho creato, quindi ho modificato il codice come segue:

<script> $(document).ready(function () { $('#calendar').fullCalendar({ editable: true, events: GetJson(), eventDrop: function (event, delta) { alert(event.title + ' was moved ' + delta + ' days\n' + '(should probably update your database)'); }, loading: function (bool) { if (bool) $('#loading').show(); else $('#loading').hide(); } }); }); function GetJson() { var out=$.ajax({ type: 'POST', url: 'WS/Calendario.asmx/JsonCalendar', data: "{}", contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (output) { } }); return out; } </script>

E il mio WS è così composto:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Quando però apro la pagina non carica nulla nel componente.
Se metto un alert del risultato del WS mi restituisce [object Object].
Il WS viene sicuramente eseguito.
La stringa di output è correttamente formattata.

Mi sapreste aiutare?
Grazie anticipatamente
Ciao
J

alx_81 Profilo | Guru

>Ciao,
ciao

>non sapevo in quale sezione mettere il Thread, quindi scusate
>se ho sbagliato.
non va male, andava bene anche asp.net, i tag sono parlanti, anche se non capisco crystal

>Quando però apro la pagina non carica nulla nel componente.
>Se metto un alert del risultato del WS mi restituisce [object Object].
corretto

>Il WS viene sicuramente eseguito.
>La stringa di output è correttamente formattata.
>Mi sapreste aiutare?
che dire, usa l'output, che conterrà le tue proprietà già popolate.
ad esempio, se hai una proprietà x, per usarla dovrai fare output.x
Non sapendo però cosa c'è dentro al record di quella tabella, si fa fatica a capire che "modello" hai..

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi

_jack_ Profilo | Junior Member


>non va male, andava bene anche asp.net, i tag sono parlanti,
>anche se non capisco crystal
Temo mi sia scappato un Click di troppo!

>>Quando però apro la pagina non carica nulla nel componente.
>>Se metto un alert del risultato del WS mi restituisce [object Object].
>corretto
>
>>Il WS viene sicuramente eseguito.
>>La stringa di output è correttamente formattata.
>>Mi sapreste aiutare?
>che dire, usa l'output, che conterrà le tue proprietà già popolate.
>ad esempio, se hai una proprietà x, per usarla dovrai fare output.x
>Non sapendo però cosa c'è dentro al record di quella tabella,
>si fa fatica a capire che "modello" hai..
La struttura della tabella è questa:
[Id] int, [Titolo] varchar(500), [start] date, [Url] varchar(50)

Il tutto viene formattato in JSON da una procedura su SQL, quindi la risultante della procedura è la colonna denominata Json
Dovrei ora richiamare output.Json oppure, ad esempio, output.Id?

Grazie

alx_81 Profilo | Guru

>Il tutto viene formattato in JSON da una procedura su SQL, quindi
>la risultante della procedura è la colonna denominata Json
>Dovrei ora richiamare output.Json oppure, ad esempio, output.Id?
non è il modo migliore per fare json, perchè ti leghi al database, però dovresti provare a lanciare solo il service per vedere cosa ti torna.
La stringa json creata poi viene deserializzata nell'oggetto di risposta della chiamata ajax..
quindi se hai una proprietà id, output.id dovrebbe contenere l'id dell'oggetto json.
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5