为什么我的CURLOPT_POSTFIELDS数据没有传递到服务器



我制作了一个简单的api,它返回一些值,但如果我添加这一行并传递像curl_setopt($cURLConnection, CURLOPT_POSTFIELDS , $data);这样的数据,我的api返回null这里是完整的代码

$data = ['a' => "data"];
$url = env('MOTHERSHIP_URL') . '/store/cstore/receipt';
Log::debug("url=" . $url);
$cURLConnection = curl_init();
curl_setopt($cURLConnection, CURLOPT_URL, $url);
curl_setopt($cURLConnection, CURLOPT_POST, true);
curl_setopt($cURLConnection, CURLOPT_POSTFIELDS , $data);
curl_setopt($cURLConnection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURLConnection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($cURLConnection, CURLOPT_SSL_VERIFYHOST, false);

$apiResponse = curl_exec($cURLConnection);
curl_close($cURLConnection);
$data = json_decode($apiResponse, true);
dd($data);

路线

Route::any('/store/cstore/receipt', 'CStoreController@StoreCstoreReceipt')->name('store.cstore.receipt');

控制器

public function StoreCstoreReceipt(Request $request){
Log::debug($request->all());
return "Success";
}

问题是,如果我添加curl_setopt($cURLConnection, CURLOPT_POSTFIELDS , $data);api,返回null。如果不添加这一行,那么它工作正常。我做错了什么?我也尝试了另一种方法,但在这种方法中,我得到了一些html接受来获得响应

尝试curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($arr));

最新更新