2016-06-01 9 views
0

Wie gesagt, wenn ich versuche, den Körper der Anfrage in einer PUT-Methode zu bekommen, ist es leer. Hier ist der Code, den ich benutze den Körper zu bekommen.

if ($_SERVER['REQUEST_METHOD'] == 'PUT') { 
    $app = \Slim\Slim::getInstance(); 
    parse_str($app->request()->getBody(), $request_params); 
} 

kann ich die params von $app->request()->params('key'); erhalten aber die volle Körper gibt immer null erhalten.

+0

Was ist, wenn Sie var_dump? – izk

+0

@izk das Ergebnis ist dies: Array (0) {} – Rorschach

+0

gibt nichts zurück? Es sind keine Daten im Array vorhanden. Arrays und Objekte werden rekursiv von var_dump untersucht. Wenn also überhaupt Daten vorhanden sind, werden sie angezeigt. – izk

Antwort

0

Das ist nicht der richtige Weg. Slim hat eine HTTP-Anfrage für PUT.

$app = \Slim\App(); 
$app->put('/url', function($request, $response){ 
     $request = $request->getParsedBody(); 
}); 

Dann können Sie Parameter wie ein Array zugreifen.

dh. $key = $request['key'];