【问题标题】:GWT + PHP, manage JSONGWT + PHP,管理 JSON
【发布时间】:2012-06-19 19:47:26
【问题描述】:

我正在尝试将 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 是字符串,数组在 C:\xampp\htdocs\TestApp\TestApp.php 中的第 25行>"

任何人都可以提供这种情况的工作示例吗?或者链接我一些教程或文档,更多地讨论如何将 GWT 与 PHP 一起使用?官网里没有那么多...

【问题讨论】:

    标签: php gwt


    【解决方案1】:
    echo json_decode($HTTP_ROW_POST_DATA);
    

    echo json_decode(file_get_contents("php://input"))
    

    http://php.net/manual/en/reserved.variables.httprawpostdata.phphttp://php.net/manual/en/wrappers.php.php(后者应该是首选)

    【讨论】:

      【解决方案2】:

      试试这个:

      <?php
      echo json_decode($_POST['data']); 
      

      因为您想解码您的data 参数,而不是所有已发布的参数。

      【讨论】:

      • 它给了我“未定义的索引:数据”,因为使用 sendRequest 我只能给出一个字符串,而不是一个索引:实际上我使用这个参数来传递 JSON。
      【解决方案3】:

      sendRequest 获取数据并将数据作为数组发送。您必须使用json_decode(parse_str($_POST['data'])) 来接收请求数据

      【讨论】:

      • 它仍然在后端使用 json_decode(parse_str($_POST['data'])) 给我'未定义的索引:数据...':也许错误在 builder.sendRequest("{\ "data\":\"hello\"}", new RequestCallback() { ...
      • 首先你可以使用 print_R($_POST); 测试哪些数据即将到来
      • 好的,你可以像这样发送参数 builder.sendRequest("?data=hello",......
      • GWT: 请求 request = builder.sendRequest("?data=hello",... PHP: echo json_decode(print_r($_POST['data'])); 响应: >>未定义索引: 数据
      • 使用 **print_r($_POST);** 不回显 json_decode(print_r($_POST['data']));
      猜你喜欢
      • 1970-01-01
      • 2011-10-31
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多