0

私はこれらの値を持っています:

$time="2012-12-30 10:00:00";
$hash="DONE_ILK_ONAY_P_KEY__2012_2012-12-30 10:00:00";

また、送信されるJSONデータは次のとおりです。

jsonRequest:
{
    "company_id":"somevalue",  
    "company _username":"somevalue", 
    "company _password":" somevalue", 
    "profile_id":"somevalue", 
    "profile_mail":"somevalue",
    "profile_info": {
        "name":"somevalue",
        "surname":"somevalue",
        "birthdate":"somevalue",
        "marital_status":"somevalue",
        "education_level":"somevalue",
        "school":"somevalue",
        "city":"somevalue"
    }
}

PHPを使用してこれらの値を別のURLに投稿し、それらからJSONで応答を取得するにはどうすればよいですか?

4

2 に答える 2

2

jQueryを使用したJSONPOST:

http://api.jquery.com/jQuery.ajax/

私は別のスタックオーバーフローの質問でこの例を見つけました:

$.ajax({     type: "POST",
    url: "[URL of JSON-aware endpoint]", // your POST target goes here     
    dataType: "json",    
     data: { [$jsonRequest, $time, $hash] }, 
     // message to send goes here    
      success: function (data)     
      {         

            // do something with result     
            } 
       }); 
</script>

jsonRequestと他の2つのパラメーター$timeと$hashを渡す方法についてフォローアップの質問がありました。

$ time、$ hash、$ jsonRequestの3つのパラメーターがある場合でも、ajax post引数は単にjsonであるため、上記のように$.ajax関数のdata引数に3つのパラメーターすべてを追加できます。 :data: [$jsonRequest, $time, $hash]

これを行うために上記の例を変更しました。

于 2012-09-25T14:19:41.670 に答える
1

サーバー側のみのPHPソリューション:

このリンクを参照してください:http://themekraft.com/getting-json-data-with-php-curl/

PHP curlとjson_encodeの組み合わせを使用して、JSONを送信し、応答としてJSONを受信できます。

$ch = curl_init( $json_url );
$json_string = json_encode(array(1 => $jsonRequest, 2 => $time, 3 => $hash));     
$options = array( CURLOPT_RETURNTRANSFER => true,
                  CURLOPT_USERPWD => $username . ":" . $password,
                  CURLOPT_HTTPHEADER => array('Content-type: application/json'),
                  CURLOPT_POSTFIELDS => $json_string);
curl_setopt_array( $ch, $options );    
$result = curl_exec($ch);
$json_result = json_decode($result);
于 2012-09-25T16:10:06.377 に答える