2009-07-11 4 views
2

Ces deux derniers jours, j'ai essayé d'obtenir que GWT interprète une JSONValue ou une chaîne de XML qui est renvoyée du serveur (en utilisant PHP). Je suis assez frustré, parce que je n'arrive pas à faire quoi que ce soit au travail. Pour le XML, j'ai confirmé que la chaîne passée de PHP à GWT est une chaîne XML correcte. Cependant, lorsque j'essaye d'analyser le XML, j'obtiens un tas d'erreurs nulles.Frustration dans l'analyse XML ou JSON avec GWT

Avec le JSON, je reçois les éléments suivants du 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}]} 

Je ne sais pas pourquoi les valeurs sont NULL, mais c'est comment le GWT cherche JSON:

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); 

} 

Est-ce que quelqu'un sait ce que je fais mal avec le JSON? Je fais json_encode ($ array) dans le PHP, et je n'ai aucune idée de comment le décomposer dans GWT.

Malheureusement, il n'y a pas beaucoup d'exemples en ligne, que ce soit ...

Merci!

Répondre

1

Il semblerait que votre premier problème soit côté serveur (PHP) et n'ait rien à voir avec GWT. Juste aller à votre page (http://www.kbehr.com/calendar/view_duty.php) devrait retourner une sorte de données, pas un tas de null (probablement).

En ce qui concerne la façon d'utiliser l'analyseur de JSON dans GWT, allez here et commencer à lire à « 2. Les données JSON dans le Manipuler code côté client »