Ich habe jetzt diesen Code:Wie verwendet man dojox/data/JsonRestStore mit dojox/grid/LazyTreeGrid?
define([
"dojo/_base/declare",
"dojox/data/JsonRestStore",
"dojox/grid/LazyTreeGrid",
"dojox/grid/LazyTreeGridStoreModel"
], function(
declare,
JsonRestStore,
LazyTreeGrid,
LazyTreeGridStoreModel
) {
var layout = { ... },
store = new JsonRestStore({
target: "/api/items" // for example
limitParam: "limit",
offsetParam: "offset"
}),
model = new LazyTreeGridStoreModel({
serverStore: true,
store: store,
childrenAttrs: [ "children" ]
});
return declare("CustomTreeGrid", [ LazyTreeGrid ], {
treeModel: model,
structure: layout
});
});
Mein Widget tausend Anfragen senden URL nach dem Start zum Ziel und mein Browser einfrieren. Wie man falsches Verhalten repariert und Kompatibilität mit RESTful API speichert?
Lösung mit QueryReadStore Arbeit, aber nicht in meiner Situation - Django REST Framework Rückseiteseite mit API-Deklaration auf GET-Anfragen.
Server Rückkehr Daten im JSON-Format:
{
"items": [ ] //Array of items
"identifier": "id",
"numRows": 12 // Total count of items
}
auch ändern Sie die Server-Antwort-Array für die Rückgabe. Antwort-Header enthalten auch Schlüssel "Content-Range: 0-2/3" (zum Beispiel) und es funktioniert nicht für mich.
Server-Response-Header:
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Range: items 0-1/2
Content-Type: application/json
Vary: accept
Server Antworttext:
[
{
"id": 1,
"children": false,
"name": "name1"
},
{
"id": 2,
"children": false,
"name": "name2"
}
]
Glaubst du, du könntest das Backend irgendwie entlarven? Ihnen zu helfen, ohne debuggen zu können, ist schwierig. Außerdem wäre es nett, das Layout zu sehen, so dass wir ein funktionierendes Snippet erstellen können – ben
Backend wird mit Django REST Framework geschrieben. Benutzer haben alle Berechtigungen, nach Start-Widget erstellen tausend Anfragen an API-URL. Server gibt Array mit jeder Antwort zurück, und das Raster ist leer. –
das ist nicht was ich meine. Im tatsächlichen Zustand hat Ihre Frage nicht genug Details, um Ihnen zu helfen. Sie müssen ein Beispiel für die Back-End-Antwort teilen, die URLs, die das Frontend aufruft, das Layout, das Sie verwenden ... – ben