2011-08-25 11 views
19

Przeczytałem podręcznik użytkownika jsFiddle dla ich JSON echo feature, ale bez powodzenia w tworzeniu działającego jsFiddle, aby wywołać echo komunikatu JSON przy użyciu JQuery.Jak mogę użyć funkcji echo JSFiddle z JQuery?

Jak mogę utworzyć jsFiddle echo JSON z ich przewodnikiem:

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

Jedynym warunkiem jest przykładem w Mootools który nigdy nie używałem. Wystarczyłoby więc proste tłumaczenie z przykładu mootools na JQuery.

+0

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

+2

Dzięki, ale przeczytałem. Moje pytanie jest oparte na tym w rzeczywistości. Ich jedynym przykładem jest Mootools. Mam nadzieję, że ktoś może dostarczyć prostą próbkę używając jquery # ajax – kasdega

+1

@BoltClock, dlaczego to zamknąłeś? jest poprawnym pytaniem z poprawną odpowiedzią. JSFiddle jest cały czas używany na tej stronie w celu wyjaśnienia lub pokazania odpowiedzi i nie ma solidnego przykładu użycia ich narzędzia z fałszywym komunikatem JSON. Baz1nga dostarczył doskonale trafną odpowiedź na to pytanie. – kasdega

Odpowiedz

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

Uwaga Dodałem na dopłata zasób .. jquery-json

Demo with FireBug Console on View (nie trzeba podciągnąć konsoli programisty, aby zobaczyć zwrot)

+0

Bardzo dziękuję to bardzo pomaga – kasdega

+0

To zepsuje się, jeśli NoScript jest zainstalowany, ze względu na sposób, w jaki jsFiddle zawiera biblioteki ad-hoc, takie jak Twój jquery-json. –

+0

@Brock Adams: Rozważam wprowadzenie jsFiddle na mojej białej liście NoScript i zapomnienie o tym ... – BoltClock

5

coś takiego:

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

JS Fiddle example.

Zasadniczo wskaż część url swojej funkcji $.ajax pod adresem /echo/jsonp/ i powinieneś ją ustawić. Dokumenty JSFiddle mówią, że działa również /echo/json/, ale wygląda na to, że ten konkretny URL jest w tej chwili niedostępny; korzystanie z usługi JSONP bez określania wywołania zwrotnego działa dobrze.

+0

Ya Próbuję użyć/echo/json i po prostu nie wydaje mi żadnych danych.Twój przykład JSONP działa jednak. – kasdega

+0

Tak, wygląda na to, że ich usługa JSON jest wyłączona. – ajm

+1

masz przykład użycia $ .ajax() do tego, jak powinien wyglądać, gdy usługa jest już dostępna? Czy możesz zmienić swój przykład z .get? – kasdega

12

Można również użyć 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; Przez "również" masz na myśli "musi"? http://stackoverflow.com/questions/7759619/getting-this-error-tojson-is-not-a-function –

+2

Teoretycznie możesz przygotować własną funkcję stringify, więc może lepiej użyj "również" – timsly

Powiązane problemy