長いタイトルになってしまいましたが、ようするにJSON形式なら受け渡しが楽になりますよということです。
まず、JQueryからPHPにJSON形式のデータを渡す方法(www/index.php)
Ajax Sample
Ajax sample
JQueryからJSON形式のデータを受け取りPHPで連想配列にして他のURLにポストする方法(www/ajax_api.php)
ちなみに、ベーシック認証がない場合は、define(‘DEMO’, true);をdefine(‘DEMO’, false);へ
"{$memberId}"
);
$data = http_build_query($data, "", "&");
if (DEMO) {
//header
$header = array(
'User-Agent: My User Agent 1.0', //ユーザエージェントの指定
'Authorization: Basic ' . base64_encode('account:password'),//ベーシック認証
"Content-Type: application/x-www-form-urlencoded",
"Content-Length: " . strlen($data)
);
} else {
//header
$header = array(
"Content-Type: application/x-www-form-urlencoded",
"Content-Length: " . strlen($data)
);
}
$context = array(
"http" => array(
"method" => "POST",
"header" => implode("\r\n", $header),
"content" => $data
)
);
$res = file_get_contents(SAMPLE_API, false, stream_context_create($context));
return $res;
}
?>
POSTデータを頂き、情報(連想配列のID指定にしていますが、ご利用の際には、DBから取得する方法へもバージョンアップできます。)
を取得JSON形式の返信を頂く方法(wwwapi/index.php)
array("id" => 10000,'name' => 'Name10000','tel' => "000100010001"),
"9999" => array("id" => 9999,'name' => 'Name9999','tel' => "000900090009"),
"9998" => array("id" => 9998,'name' => 'Name9998','tel' => "000900090008"),
"9997" => array("id" => 9997,'name' => 'Name9997','tel' => "000900090007"),
"9996" => array("id" => 9996,'name' => 'Name9996','tel' => "000900090006"),
"9995" => array("id" => 9995,'name' => 'Name9995','tel' => "000900090005"),
"9994" => array("id" => 9994,'name' => 'Name9994','tel' => "000900090004"),
"9993" => array("id" => 9993,'name' => 'Name9993','tel' => "000900090003"),
"9992" => array("id" => 9992,'name' => 'Name9992','tel' => "000900090002"),
);
$memberId = $_POST['member_id'];
if(empty($memberArray[$memberId])) {
echo json_encode(array());
}
echo json_encode($memberArray[$memberId]);
?>
※jquery-1.11.2.min.jsは、特にふれていませんが、実行するには必要になります、ご注意ください。