Cảm ơn câu hỏi!
Gửi dữ liệu đến thành phần web không khác với gửi dữ liệu đến bất kỳ trang web nào. Nghĩa là, trang web hoặc thành phần của bạn có thể mở một yêu cầu AJAX (aka XMLHttpRequest aka HttpRequest) cho máy chủ và lấy lại dữ liệu JSON.
Vì các thành phần web cần được biên dịch thành vani JavaScript và HTML (cho đến khi các tính năng hạ cánh trong trình duyệt ... sắp xuất hiện!), Bạn không thể gửi lại HTML thô có chứa phần tử tùy chỉnh của bạn (như bạn có trong thí dụ).
Về cơ bản, hãy tạo trình xử lý trên máy chủ của bạn để tạo Người dùng trong cơ sở dữ liệu và gửi phản hồi JSON chứa chi tiết người dùng. Trang web của bạn (hoặc thành phần) sẽ nhận được phản hồi JSON và sau đó có thể liên kết, thông qua các thành phần, với trang.
Có rất nhiều bộ phận chuyển động ở đây vì vậy tôi nghĩ rằng chúng tôi cần một mẫu từ đầu đến cuối. Trong khi đó, bạn có thể làm một cái gì đó như thế này:
var user = new User();
user.name = params["user[first_name]"];
user.email = params["user[email]"];
res.headers.add('Content-Type', 'application/json');
res.outputStream.writeString(user.toJson());
res.outputStream.close();
này giả định bạn thêm một phương pháp String toJson();
đến lớp người dùng.
Nguồn
2012-12-02 19:11:02
Cảm ơn Seth, có bất kỳ gợi ý nào về việc sử dụng user.toJson() trên máy khách không? – basheps
Hi @ basheps may mắn tiêu thụ JSON trên máy khách rất dễ dàng, bởi vì trình duyệt web nói JSON. Trong Dart, chỉ cần sử dụng dart: json library. Hoặc, đọc bài viết này từ Chris Buckett: http://www.dartlang.org/articles/json-web-service/ –