2010-09-02 10 views
8

Meine jqGrid funktioniert, wenn meine JSON-Daten in einer statischen Datei sind, aber wenn ich die Daten in eine Variable kopiere und dann versuche, die Variable in die URL von jqGrid zu laden, wird sie nicht angezeigt.Wie verwenden Sie eine JSON-Zeichenfolge oder ein JSON-Objekt mit jqGrid?

Kann passieren Sie einen String in jqGrid

z.B. Dies funktioniert:

function GetJSON() { 
    var jsonFile = "EntityWithChildren.json"; 
    return jsonFile;//returning a file works fine. 
} 

$("#jsonmap").jqGrid({ 
    url: GetJSON(), 
    datatype: 'json', 

dies nicht:

function GetJSON() { 
    var json = '{"page":"1","total":"10", "records":"10", "Entities": [  {"Fields":["Entity1", "field1", "11"]},  {"Fields":["", "field2", "22"]},  {"Fields":["Entity2", "field3", "33"]},  {"Fields":["ChildEntity1", "cfield1", "111"]} ]}'; 
    return json; //doesnt work 

} 

$("#jsonmap").jqGrid({ 
    url: GetJSON(), 
    datatype: 'json', 
    //datatype: 'jsonstring',//this doesnt work either 

Antwort

16

es. müssen datastr anstelle von url verwenden

datatype: 'jsonstring', 
datastr: GetJSON(), 
+0

Genau! Sie finden es in der Dokumentation http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_string. Wenn Sie sich auf Ihre Frage geantwortet haben und das Problem gelöst ist, sollten Sie Ihre eigene Antwort als "akzeptiert" markieren. Es vereinfacht die Arbeit mit Ihrer Frage für andere Menschen. – Oleg

Verwandte Themen