我有一个GWT应用程序输入(让我们说名称,地址,电子邮件)。用户输入所有必填字段并按下提交按钮后,PHP页面将显示GWT应用程序的输入。如何将我的GWT应用程序连接到php?我现在正在使用Request Builder。我是否还必须使用XML将GWT输入传递给PHP?请帮忙。我刚开始在这里学习GWT。
提前致谢。
你实际上不需要RequestBuilder这样的东西。 如果您重定向到PHP URL并将输入附加为GET参数就足够了。因此,例如在点击处理程序中,您可以执行以下操作:
submitButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
String linkURL = "somePage.php?name="+name+"&address="+address+"&email="+email;
Window.Location.assign(linkURL);
}
});
然后在PHP页面中,您可以通过以下方式检索参数:
$name = $_GET['name'];
$address = $_GET['address'];
$email = $_GET['email'];
更新
如果你想使用RequetBuilder,你必须做类似的事情:
submitButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
RequestBuilder request = new RequestBuilder(POST,PHP_URL);
JSONObject jsonValue = new JSONObject();
jsonValue.put("name", new JSONString(name));
jsonValue.put("address", new JSONString(address));
jsonValue.put("email", new JSONString(email));
request.setHeader("Content-Type", "application/json");
request.sendRequest(jsonValue.toString(),new RequestCallback() {
@Override
public void onResponseReceived(Request request, Response response) {
if (200 == response.getStatusCode()) {
//retrieve a uniqueid or so and redirect to the PHP page which displays the infos
} else {
// displayError("Couldn't retrieve
}
}
@Override
public void onError(Request request, Throwable exception) {
//displayError("Couldn't retrieve JSON");
}
});
}
});
在服务器上,您只需访问全局$ _POST变量即可获取值:
$name = @_POST['name']