2015-06-10 2 views
1

Привет Я пытаюсь отправить запрос POST с помощью PHP и Curl. Я хочу, чтобы отправить JSON похож на этотPHP Curl json POST не работает для меня

"json":{ 
    "testString":"test", 
    "testInt":1 
} 

Я попробовал этот код, чтобы выполнить эту

curl_init("domain.com"); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, '"json":'.$data_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
$result = curl_exec($ch); 

Мой Laravel проект, который получает запрос не получает никакой информации с ним.

Редактировать: подробнее пояснить, Мой проект laravel получает запрос, но без каких-либо данных сообщения, нет.

ответ

0

Предполагая, что $ data_string:

$data_string = '"json":{ 
    "testString":"test", 
    "testInt":1 
}'; 

Заменить:

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, '"json":'.$data_string); 

С:

curl_setopt($curl, CURLOPT_POST, TRUE); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string); 
+0

Если $ data_string был массивом для начала, вы можете просто обернуть это с помощью json_encode в setopt –