2012-03-28 10 views
0

Ich habe diese Ausgabe, die ich von meiner PHP-Seite bekam:PHP Ausgabe an JS als HTML zu rendern

{"schedules":{"Event_Date":"2011-03-12","Meet_Name":"Time Trials ","Duration":"9:00am-12:00pm","Location":"Agoura High School","Address":"28545 Driver Ave","City":"Agoura Hills","State":"CA","Postal":"91301"}} 

Ich mag diese Ausgabe machen, wie HTML diesen Javascript-Code mit:

var serviceURL = "http://localhost/"; 

var schedules; 

$('#Schedule').bind('pageinit', function(event) { 
getScheduleList(); 
}); 

function getScheduleList() { 
    $.getJSON(serviceURL + 'get_Mobile_Schedule.php', function(data) { 
     $('#schedulelist li').remove(); 
     schedules = data.items; 
     $.each(schedules, function(index, item) { 
      $('#schedulelist').append('<li><h4>' + item.Event_Date +'</h4>' 
        ); 
     }); 
     $('#schedulelist').listview('refresh'); 
    }); 
} 

Aber es scheint, dass ich nichts zum Rendern bekommen kann.

Hat jemand irgendwelche Vorschläge?

Danke!

+1

firebug ist ein guter Freund, überprüfen Sie auch, dass Sie Json-Header senden, bevor Sie die Zeichenfolge echo. – sakhunzai

Antwort

2

schedules = data.items - data enthält keine Eigenschaft namens items. Sie möchten wahrscheinlich stattdessen.

0

Ihr JSON hat am Ende ein zusätzliches '}'. JQuery erkennt es nicht, wenn es fehlerhaft ist.

Auch Bindings sollten innerhalb der jquery 'ready' Funktion passieren. Versuchen Sie folgendes:

$(document).ready({function() { 
    $('#Schedule').getSced = getScheduleList(); 
    ... 
0

auch wenn es für Sie funktioniert, versuchen Sie diese stattdessen verwenden

'<li><h4>' + item.Event_Date +'</h4></li>' 

die nicht geschlossene Tag kann ein Problem sein.