我正在尝试将GWT与PHP后端连接;我使用提供的教程成功地在前端加载了一些数据:https://developers.google.com/web-toolkit/doc/latest/DevGuideServerCommunication#DevGuideHttpRequests;现在我正在尝试使用提供的相同代码将数据从GWT发送到PHP,但我不知道如何修改它。在Java GWT类中,我已经完成了
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url));
builder.setHeader("Content-Type", "application/json");
try {
Request request = builder.sendRequest("{\"data\":\"hello\"}", new RequestCallback() { ...
然后在php脚本中
echo json_decode($_POST);
但错误是“[INFO] [testapp] - 警告:json_decode()期望参数1为字符串,在 25 中的 C:\ xampp \ htdocs \ TestApp \ TestApp.php 中给出的数组“
有人能提供这种情况的实例吗?或者链接我一些教程或文档,更多地讨论如何使用PHP与GWT?在官方网站上没有那么多......
答案 0 :(得分:2)
echo json_decode($HTTP_ROW_POST_DATA);
或
echo json_decode(file_get_contents("php://input"))
请参阅http://php.net/manual/en/reserved.variables.httprawpostdata.php和http://php.net/manual/en/wrappers.php.php(后者应该是首选)
答案 1 :(得分:0)
试试这个:
<?php
echo json_decode($_POST['data']);
因为您要解码data
参数,而不是所有发布的参数。
答案 2 :(得分:0)
sendRequest获取数据并以数组形式发送数据。您必须使用json_decode(parse_str($_POST['data']))
来接收请求数据