2011-08-25 11 views
19

Ho letto la guida dell'utente di jsFiddle per JSON echo feature ma senza la fortuna di produrre un jsFiddle funzionante per echeggiare un messaggio JSON utilizzando JQuery.Come posso utilizzare la funzione di eco JSFiddle con JQuery?

Come si crea un jsFiddle fare eco alle JSON dalla loro guida:

data: { 
    json: JSON.encode({ 
     text: 'some text', 
     array: [1, 2, 'three'], 
     object: { 
      par1: 'another text', 
      par2: [3, 2, 'one'], 
      par3: {} 
     } 
    }), 
    delay: 3 
} 

Quello esempio fornito è in Mootools, che non ho mai usato. Quindi una semplice traduzione dall'esempio mootools in JQuery sarebbe sufficiente.

+0

leggi http://doc.jsfiddle.net/use/echo.html – Baz1nga

+2

Grazie ma ho letto quello. La mia domanda si basa su questo in effetti. Il loro unico esempio è in Mootools. Spero che qualcuno possa fornire un semplice esempio usando jquery # ajax – kasdega

+1

@BoltClock perché chiuderlo? è una domanda valida con una risposta valida. JSFiddle viene sempre utilizzato su questo sito per spiegare o mostrare le risposte e non hanno un solido esempio di come utilizzare il loro strumento con un falso messaggio JSON. Baz1nga ha fornito una risposta perfettamente soddisfacente alla domanda. – kasdega

risposta

23
var data = { 
     json: $.toJSON({ 
      text: 'some text', 
      array: [1, 2, 'three'], 
      object: { 
       par1: 'another text', 
       par2: [3, 2, 'one'], 
       par3: {} 
      } 
     }), 
     delay: 3 
} 


$.ajax({ 
    url:"/echo/json/", 
    data:data, 
    type:"POST", 
    success:function(response) 
    { 
     console.log(response); 
    } 
}); 

Live Demo

Nota ho aggiunto na risorsa addizionale .. jquery-JSON

Demo with FireBug Console on View (non c'è bisogno di tirare su console per gli sviluppatori di vedere ritorno)

+0

Grazie mille questo aiuta enormemente – kasdega

+0

Questo si interrompe se NoScript è installato, a causa del modo in cui jsFiddle include librerie ad-hoc come jquery-json. –

+0

@Brock Adams: Sto considerando di inserire jsFiddle nella mia lista bianca NoScript e di dimenticarlo ... – BoltClock

5

Qualcosa di simile a questo:

$.get('/echo/jsonp/', { foo : 'bar', biz : 'buzz' }) 
    .success(function(data){ console.log (data) }) 

JS Fiddle example.

In linea di principio, puntare la parte url della funzione $.ajax a /echo/jsonp/ e si dovrebbe impostare. I documenti di JSFiddle dicono che anche lo /echo/json/ funziona, ma sembra che quel particolare URL sia inattivo al momento; tuttavia, l'utilizzo del servizio JSONP senza specificare una callback funziona correttamente.

+0

Ya Sto cercando di usare/echo/json e non sembra che restituisca alcun dato per me.Il tuo esempio JSONP funziona comunque. – kasdega

+0

Sì, sembra che il loro servizio JSON non funzioni. – ajm

+1

hai un esempio di $ .ajax() per come dovrebbe apparire quando il loro servizio è attivo? O puoi cambiare il tuo esempio da un .get? – kasdega

12

È anche possibile utilizzare JSON .stringify

$.ajax({ 
    url:"/echo/json/", 
    data:{ 
    json: JSON.stringify({ 
     text: 'some text', 
     array: [1, 2, 'three'], 
     object: { 
      par1: 'another text', 
      par2: [3, 2, 'one'], 
      par3: {} 
     } 
     }), 
    delay: 3 
    }, 
    type:"POST", 
    success:function(response) { 
    console.log(response); 
    } 
}); 

+4

+1; Con "anche" intendi "deve"? http://stackoverflow.com/questions/7759619/getting-this-error-tojson-is-not-a-function –

+2

Teoricamente puoi preparare la tua funzione stringify, quindi forse meglio usare 'anche' – timsly

Problemi correlati