【发布时间】:2019-04-08 16:25:30
【问题描述】:
我有一个带有输入的 GWT 应用程序(比如说姓名、地址、电子邮件)。用户输入所有必填字段并按下提交按钮后,PHP 页面将显示来自 GWT 应用程序的输入。如何将我的 GWT 应用程序连接到 php?我现在正在使用请求生成器。我还必须使用 XML 将 GWT 输入传递给 PHP 吗?请帮忙。我刚开始在这里学习 GWT。
提前致谢。
【问题讨论】:
我有一个带有输入的 GWT 应用程序(比如说姓名、地址、电子邮件)。用户输入所有必填字段并按下提交按钮后,PHP 页面将显示来自 GWT 应用程序的输入。如何将我的 GWT 应用程序连接到 php?我现在正在使用请求生成器。我还必须使用 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']
【讨论】:
php 代码是这样的:foreach( $_POST as $key=>$value ) { echo "$key : $value<br />"; }