我试图通过HTTP Guzzle发布一个JSON变量和一个字符串变量。它给出内部服务器错误,说明意外的'
(显然是')。
这是我到目前为止所尝试的 -
HTTP Guzzle代码
$data = $_GET['data'];
$email = $_GET['email'];
$client = new Client();
$response = $client->request('POST', 'http://someurlhere.com', [
'data' => $data, // this is json variable
'email' => $email // this is string variable
]);
if($response = $request->send()){
// redirect somewhere
}
我也尝试在'json' => ['data' => $data]
中包装JSON变量,但没有任何可取的事情发生,错误保持不变。
此外,变量不是通过表单设置的。所以我没有把它们包裹在form_params
里面。
我发现那里我做错了什么。代码很完美。导致该问题的唯一原因是我在其他服务器上的错误,我正在执行POST请求。
这个答案仅供我将来参考,并帮助那些可能面临同样问题或可能在未来面临的其他人。
我想你可以用:
//Guzzle version ~6.3
$response = (new Client())->request("post", $uri, [
'json' => $formParams
]);
直接用post man检查$ uri响应并在需要时解决问题。