Tôi thực sự đã tìm kiếm gần 2 giờ và chưa tìm thấy một ví dụ hay về cách chuyển dữ liệu JSON từ PHP sang JS. Tôi có một tập lệnh mã hóa JSON trong PHP để lặp lại một kịch bản JSON trông giống như thế này (mã giả).Làm cách nào để nhận JSON từ PHP sang JS?
{
"1": [
{"id":"2","type":"1","description":"Foo","options:[
{"opt_id":"1","opt_desc":"Bar"},
{"opt_id":"2","opt_desc":"Lorem"}],
{"id":"3","type":"3","description":"Ipsum","options:[
...
"6":
{"id":"14","type":"1","description":"Test","options:[
...
etc
Vấn đề là làm cách nào để lấy dữ liệu này bằng JavaScript? Mục tiêu của tôi là tạo một tập lệnh .js tạo ra một cuộc thăm dò dựa trên các dữ liệu JSON này, nhưng tôi thành thật với thần không thể tìm thấy bất kỳ ví dụ nào về cách thực hiện điều này. Đoán nó là một số điều gì đó như:
Obj jsonData = new Object();
jsonData = $.getJson('url',data,function()){
enter code here
}
Bất kỳ liên kết nào đến bất kỳ ví dụ hay tương tự nào đều sẽ được đánh giá cao. Và tôi nghĩ rằng mã hóa dữ liệu trong PHP là phần khó khăn ...
EDIT:
Tôi có đoạn mã này để làm việc, vì vậy tôi có thể xem lại toàn bộ dữ liệu JSON của tôi trong JS. Nhưng bây giờ tôi dường như không thể tìm ra cách để có được các dữ liệu bên trong. Nó in ra số giai đoạn (1-6) nhưng tôi không thể tìm ra cách để có được dữ liệu câu hỏi, và sau đó một lần nữa các dữ liệu tùy chọn trong mỗi câu hỏi. Tôi có phải thử nghiệm với lồng nhau mỗi vòng?
$(document).ready(function()
{
$('#show-results').click(function()
{
$.post('JSAAN.php', function(data)
{
var pushedData = jQuery.parseJSON(data);
$.each(pushedData, function(i, serverData)
{
alert(i);
})
})
})
});
Ý tưởng ở đây là để có được vào các thông tin câu hỏi ở mức trung bình và in ra các mô tả qusetion, sau đó dựa vào loại câu hỏi - vòng lặp qua các tùy chọn (nếu có) để tạo checkbox/RadioButton nhóm trước khi tiếp tục câu hỏi tiếp theo. Số đầu tiên đại diện cho giai đoạn nào của cuộc thăm dò đa giai đoạn mà tôi hiện đang làm việc. Kế hoạch của tôi là chia nó thành 6 giai đoạn bằng cách ẩn/hiển thị các div khác nhau cho đến trang cuối cùng nơi biểu mẫu được gửi qua Ajax.
Đây là điều tôi cần, tôi chỉ cần thực hiện công việc xD Đã thử đặt cảnh báo bên trong getJson nhưng nó không bao giờ kích hoạt. – Tom
Tôi nghĩ rằng có một lỗi ngoặc đơn trong hàm (jsonData)) {, nên là hàm (jsonData) {no? Không thể có được một trong hai để làm việc mặc dù, chỉ sẽ búa vào nó một lúc :) – Tom
yeah, bạn đang đúng về dấu ngoặc đơn thêm :) – Leon