Tôi đã làm những gì bạn đang cố gắng làm và đây là kinh nghiệm của tôi. Tôi sử dụng phần mềm trung gian Site Studio của Oracle tại nơi làm việc. Tôi đã tìm một khung làm việc với nó nhưng không thể tìm được. Vì vậy, tôi đã thử cả hai tùy chọn bên dưới.
1) Truy vấn cơ sở dữ liệu trả về một số lượng hàng nhất định. Tôi đã thử 2.000 như một bài kiểm tra. Một vòng lặp foreach đơn giản chuyển đổi dữ liệu trả về thành dữ liệu JSON. Vì vậy, nó có nghĩa là xây dựng một mảng dài các biến JSON khi nó lặp qua các hàng. Bằng cách này, bạn bắt chước một ảnh chụp nhanh của một cơ sở dữ liệu cục bộ. JS thực sự có thể truy cập vào các phần tử mảng rất nhanh và nó có thể làm bạn ngạc nhiên đến mức nào bạn có thể sắp xếp, thay đổi, xóa thông tin.
<script>
var appData = [{'id':'0','first':'Sam','last':'Smith'},{'id':'1','first':'Dan','last':'Smith'}];
</script>
Dữ liệu JSON này được chứa trong thẻ tập lệnh. JQuery trên doc.ready sau đó đọc dữ liệu và thêm nó vào văn bản html nếu cần. Khi người dùng thay đổi giá trị dữ liệu JSON ajax sẽ tắt và lưu các thay đổi vào cơ sở dữ liệu. Không quá khó để thêm một hệ thống như thế này vào ứng dụng của bạn. Tôi đã sử dụng Angular.js của Google sau này để liên kết dữ liệu với giao diện người dùng để có mẫu MV sạch và cũng dễ dàng để sắp xếp và lọc các loại phía máy khách nhanh. Như đã đề cập Backbone.js và các khung công tác JS khác có thể đồng bộ hóa dữ liệu máy khách với máy chủ.
2) Cách thứ hai tôi đã lưu dữ liệu vào trang html là một lần nữa lặp lại thông qua các hàng được trả về với một foreach. Sau đó, tôi đã lưu dữ liệu trong HTML bằng cách sử dụng kiểu cũ
<input type="hidden" name="someName" value="someValue" />
Sau đó, tôi đã sử dụng JQuery để xử lý dữ liệu và thêm dữ liệu vào giao diện người dùng. Nếu bạn thực sự muốn có được hoang dã với JSON bạn thực sự có thể nhúng nó trong các biến HTML như vậy
<input type="hidden name="row1" value="{'color':'red','style':'fancy','age':'44'}" />
Sau đó bạn có thể sử dụng JQuery hoặc Angular.js để xử lý các dữ liệu và ràng buộc nó vào giao diện người dùng của bạn.
Điều thú vị là rất nhiều khung ứng dụng không có hệ thống lưu vào bộ nhớ cache phía máy khách. Nó thực sự là không hiệu quả để sắp xếp một menu chọn ở phía máy chủ và sau đó xây dựng lại html. Tốt hơn là sắp xếp nó trong JS và tự động xây dựng lại menu chọn. Có một mối quan tâm với bảo mật ở đây và bạn sẽ không muốn in thông tin cá nhân vào các biến JSON hoặc HTML vì nó có thể nhìn thấy dưới nguồn xem. Ngoài ra, bạn có thể nhúng dữ liệu vào các trang bằng cách sử dụng các kỹ thuật giả mạo hơn. Hãy xem xét bên dưới:
<span class="data" value="1234"></span>
$(function() {
$('.data').each(function() {
var val = $(this).attr('value');
console.log(val); //process data
});
});
Sau đó, bạn có thể sử dụng JQuery trên doc.ready để xử lý dữ liệu có tên của lớp. Bạn cũng có thể đưa dữ liệu JSON vào giá trị và phân tích cú pháp sau đó. Hãy nhớ rằng những người sử dụng JQuery chống lại các nhà phát triển bằng cách sử dụng các lớp theo cách này. Theo kinh nghiệm của tôi nếu bạn không đi quá mức với nó, nó hoạt động rất tốt.
Giá trị dữ liệu * 2 năm là bao nhiêu? * Có phải 2 năm nhật ký máy chủ web của Google hoặc một bản ghi nhỏ hơn không? – Matt
@Matt khoảng 32K hàng. –
Sau đó, không gửi nó cho khách hàng. Hãy để khách hàng thăm dò ý kiến máy chủ. – Matt