0

我在将参数传递给 LAMP 服务器时遇到了困难:

  • Apache/2.2.22 (Ubuntu)
  • PHP 5.3.10-1ubuntu3.6
  • 卷曲 7.22.0

在服务器端,我使用 slim 进行 REST 操作。它似乎适用于 GET/POST。我的测试实现如下所示:

 // Check the post route
 $app->post('/data', function () use ($app) {
        $app->response()->header("Content-Type", "application/json");
        $json_new_array["input"] = file_get_contents('php://input'); 
        $json_new_string = json_encode($json_new_array);
        echo $json_new_string;
    });

 // Check the put route
 $app->put('/data', function () use ($app) {
         $app->response()->header("Content-Type", "application/json");
         $json_new_array["input"] = file_get_contents('php://input'); 
         $json_new_string = json_encode($json_new_array);
         echo $json_new_string;
    });

这是我一直在尝试在客户端传递参数的方法:

curl -X PUT http://hostname/001_mockserver.php/data -d fruit=orange -d quantity=4 -i

curl -X POST http://hostname/001_mockserver.php/data -d fruit=orange -d quantity=4 -i

PUT尝试返回,{"input":""}而POST行为符合预期: {"input":"fruit=orange&quantity=4"}

我读到 apache 不应该是一个问题。那么有什么建议从哪里开始?

4

1 回答 1

0

All right, I've figured it out:

// Check the put route
$app->put('/data', function () use ($app) {
         $request = $app->request();
         $body = $request->getBody();
  });

does the job :-D

于 2013-07-10T21:41:58.807 回答