Kann nicht senden von Daten in der post-Anforderung über file_get_contents
Anfordern müssen einige code zwei mal in meiner app. Faust request-url als ajax-call, und auch, beantragen Sie bitte diese url im controller (so etwas wie hmvc). Ich weiß, wie zu entwickeln, das über curl, aber ich fand eine andere Art von Idee, wie dies umzusetzen, nutzen Sie einfach die Funktion file_get_contents mit vorher bereit params. Dies ist mein code:
//Setup limit per page
$args['offset'] = $offset;
$args['limit'] = $this->_perpage;
//--
//Convert search arguments to the uri format
$data = http_build_query($args);
//Define request params
$options = array(
'http' => array(
'header' => 'Content-type: application/json' . PHP_EOL .
'Content-Length: ' . strlen($data) . PHP_EOL,
'method' => 'POST',
'content' => $data,
),
);
$context = stream_context_create($options);
$result = file_get_contents(
'http://'.$_SERVER['HTTP_HOST'].'/search/items', FALSE, $context
);
Request-Methode erkannt wurde, ok in dem angeforderten uri, aber params nicht bestanden. Warum dies so ist, keine Argumente zu verlangen? Wo ist der Fehler in meinem code? Vielen Dank für alle Antworten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
http_build_query baut application/x-www-form-urlencoded content. (nicht application/json)
Gibt es ein komplettes Beispiel:
Wie die post Daten in PHP mit file_get_contents?
Content-type sollte
application/x-www-form-urlencoded
. Wenn Sie möchten, bleiben Sie mitapplication/json
werden, versuche geposteten Daten mitfile_get_contents("php://input")
.