2017-04-11 4 views
0

私は値を取り込み、それをjson形式のapiに渡したいフォームを用意しています。次のコードを使用しています。私はカールを使用してフォームからapiにパスの動的データを渡すことができません

400

と$私は解決するためには、エラー

[Invalid Json: Unexpected character (''' (code 39)): was expecting double-quote to start field name at [Source: [email protected]; line: 3, column: 3]]

を取得しています結果のエラーを取得していますHTTP_STATUSについて次のようなエラーに

を取得しています

<?php 
$name = $this->input->post('name'); 
$location = $this->input->post('location'); 
$age = $this->input->post('age'); 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, "https://example.com"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "{ 
    'name' => $name, 
    'location' => $location, 
    'age' => $age 
}"); 

curl_setopt($ch, CURLOPT_POST, 1); 

$headers = array(); 
$headers[] = "Apikey: ***"; 
$headers[] = "Cache-Control: no-cache"; 
$headers[] = "Content-Type: application/json"; 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

$result = curl_exec($ch); 

$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE); 

print_r($http_status); 

echo "<br>"; 

if (curl_errno($ch)) { 
    echo 'Error:' . curl_error($ch); 
} 
curl_close ($ch); 

print_r($result); 
?> 

私は二重引用符を与えるしようとした場合上記の問題は、私はPHP構文エラーを取得している

誰でもデータを正常に送信する方法を教えてください。

答えて

0

車輪を発明しないでください。

$post_fields = array(
    'name' => $name, 
    'location' => $location, 
    'age' => $age 
); 
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_fields)); 
+0

このエラーは、ID 73jbj3e8bで記録されています。 – sammy

関連する問題