2

私は GWT と PHP の初心者です。いくつかのチュートリアルを読んだ後、GWT フロントエンドと PHP バックエンドの間でデータを効率的に交換する方法がわかりません。RequestBuilder クラスを使用して PHP からデータを取得することが提案されている Google のチュートリアルにうまく従いました。しかし、GWT で行った作業を保存する必要がある場合、データを効率的に PHP に渡すにはどうすればよいでしょうか? このタスクに RequestBuilder を使用する方法は明確ではありません。今のところ見つけた解決策は

RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url));
    builder.setHeader("Content-Type", "application/json");
        try {
              Request request = builder.sendRequest("{\"done\":false,\"description\":\"Some text\",\"priority\":0}", new RequestCallback() {...

そしてPHP側で

$arr = json_decode(file_get_contents("php://input"),true);
$done = (int)$arr['done'];
$description = $arr['description'];
$priority = $arr['priority'];
mysql_query("INSERT INTO Tasks (done, description, priority)
    VALUES ($done, '$description', $priority)");

これは最善のアプローチですか?誰かがウェブで実用的な例を見つけましたか? どんな意見でも構いません...

4

1 に答える 1

0

Java 以外のサーバーとやり取りするときに JSON を使用しても問題ないと思います。JSON モジュールを使用すると、クライアント側でより安全な方法で JSON 文字列を作成できます。

.gwt.xml ファイルに追加します

<inherits name='com.google.gwt.json.JSON'/>

次に、サンプル文字列を次のように作成できます

final JSONObject jsonObject = new JSONObject();

jsonObject.put("done", JSONBoolean.getInstance(false));
jsonObject.put("description", new JSONString("Some text"));
jsonObject.put("priority", new JSONNumber(0));

final String jsonString = jsonObject.toString();
于 2012-05-22T06:41:39.253 に答える