2011-08-25 38 views
19

Tôi đã đọc hướng dẫn sử dụng của jsFiddle về JSON echo feature nhưng không may mắn khi tạo ra một jsFiddle đang hoạt động để lặp lại một thông báo JSON bằng cách sử dụng JQuery.Tôi có thể sử dụng tính năng echo JSFiddle bằng JQuery như thế nào?

Làm thế nào tôi có thể tạo ra một jsFiddle để echo JSON từ hướng dẫn của họ:

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

Một ví dụ được cung cấp là trong Mootools mà tôi đã không bao giờ được sử dụng. Vì vậy, một bản dịch đơn giản từ ví dụ mootools thành JQuery sẽ là đủ.

+0

đọc http://doc.jsfiddle.net/use/echo.html – Baz1nga

+2

Cảm ơn nhưng tôi đã đọc điều đó. Câu hỏi của tôi dựa trên thực tế đó. Ví dụ duy nhất của họ là ở Mootools. Tôi hy vọng một người nào đó có thể cung cấp một mẫu đơn giản bằng cách sử dụng jquery # ajax – kasdega

+1

@BoltClock tại sao bạn sẽ đóng này? một câu hỏi hợp lệ của nó với một câu trả lời hợp lệ. JSFiddle được sử dụng tất cả các thời gian trên trang web này để giải thích hoặc hiển thị câu trả lời và không có một ví dụ vững chắc về cách sử dụng công cụ của họ với một thông điệp JSON giả mạo. Baz1nga cung cấp một câu trả lời hoàn hảo cho câu hỏi. – kasdega

Trả lời

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

Note Tôi đã thêm na tài nguyên additonal .. jquery-json

Demo with FireBug Console on View (không cần phải kéo lên phát triển giao diện điều khiển để xem cửa sổ mới)

+0

Cảm ơn bạn rất nhiều điều này giúp rất nhiều – kasdega

+0

Điều này vi phạm nếu NoScript được cài đặt, vì cách jsFiddle bao gồm các thư viện đặc biệt như jquery-json của bạn. –

+0

@Brock Adams: Tôi đang xem xét việc đặt jsFiddle vào danh sách trắng NoScript của tôi và quên nó ... – BoltClock

5

Something như thế này:

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

JS Fiddle example.

Về cơ bản, hãy chỉ một phần của hàm url của hàm $.ajax tại /echo/jsonp/ và bạn phải đặt. Tài liệu của JSFiddle nói rằng /echo/json/ cũng hoạt động, nhưng có vẻ như URL cụ thể đó đang giảm xuống vào lúc này; Tuy nhiên, việc sử dụng dịch vụ JSONP mà không chỉ định một cuộc gọi lại hoạt động tốt.

+0

Ya Tôi đang cố gắng sử dụng/echo/json và nó dường như không trả lại bất kỳ dữ liệu nào cho tôi.Ví dụ JSONP của bạn hoạt động. – kasdega

+0

Vâng, có vẻ như dịch vụ JSON của họ đã ngừng hoạt động. – ajm

+1

bạn có một ví dụ sử dụng $ .ajax() cho những gì nó sẽ giống như khi dịch vụ của họ là lên? Hoặc bạn có thể thay đổi ví dụ của bạn từ một .get? – kasdega

12

Bạn cũng có thể sử dụng 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; Bởi "cũng" bạn có nghĩa là "phải"? http://stackoverflow.com/questions/7759619/getting-this-error-tojson-is-not-a-function –

+2

Về mặt lý thuyết bạn có thể chuẩn bị chức năng xâu chuỗi của riêng bạn, vì vậy có thể sử dụng tốt hơn 'cũng' – timsly

Các vấn đề liên quan