In den letzten Tagen habe ich versucht, GWT zu interpretieren entweder ein JSONValue oder eine Zeichenfolge von XML, die zurück vom Server (mit PHP) übergeben wird.
Ich bin ziemlich frustriert, weil ich anscheinend nichts zum Laufen bringen kann. Was das XML betrifft, so habe ich bestätigt, dass der von PHP an GWT übergebene String ein korrekter XML-String ist. Wenn ich jedoch versuche, die XML zu parsen, erhalte ich eine Reihe von Null-Fehlern.
Mit dem JSON erhalte ich folgendes von PHP:
Value: {"item":[{"ID":null, "Primary":null, "Secondary":null, "Date":null, "Region":null},{"ID":null, "Primary":null, "Secondary":null, "Date":null, "Region":null},{"ID":null, "Primary":null, "Secondary":null, "Date":null, "Region":null}]}
Ich habe keine Ahnung, warum die Werte NULL sind, aber das ist, wie die GWT für die JSON aussieht:
public void onChange(Widget sender) {
lb.setText("Date selected: " + calendar.getDate());
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String current = df.format(calendar.getDate());
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode("http://www.kbehr.com/calendar/view_duty.php"));
try {
builder.sendRequest(current, new RequestCallback(){
public void onError(Request request, Throwable exception) {
requestFailed(exception);
}
public void onResponseReceived(Request request, Response response) {
String responseText = response.getText();
try {
JSONValue jsonValue = JSONParser.parse(responseText);
processJSON(jsonValue);
} catch (Exception e) {
Window.alert("Error: " + e);
}
}});
}catch (RequestException ex) {
requestFailed(ex);
}
}});
fp.add(calendar);
fp.add(lb);
}
public void processJSON(JSONValue messageXml) {
vp.clear();
vp.add(new Label("Value: " + messageXml));
RootPanel.get("slot2").add(vp);
}
Weiß jemand, was ich mit dem JSON falsch mache? Ich bin dabei json_encode($array) in der PHP, und ich habe keine Ahnung, wie es in GWT zu brechen.
Leider gibt es auch online nicht viele Beispiele...
Danke!