2
今、同じ問題を抱えている人々がたくさんあり、その解決策は機能していません。JavascriptへのPHP配列console.logの後のオブジェクト配列なし
問題
私はRESTコールから戻ってくるタイムズのリストを持っています。 JavaScript配列に格納する必要がある場合を除き、必要なだけ正確に作成されます。それが戻ってくる必要があります正確にどのようにある
PHP
function getOpenAppts()
{
global $wpdb;
$final_array = "";
$td = date('m/d/Y');
$datetime = new DateTime('tomorrow');
$tm = $datetime->format('Y-m-d');
$startDate = $td;
$endDate = $tm;
$apptTypeID = "23";
$get_loc = $wpdb->get_results('SELECT provid,id FROM location');
foreach($get_loc as $val){
// call to Athena to get open appointments
$res = getOpenAppointments($val->id, $val->provid, $startDate, $endDate, $apptTypeID);
//print_r($res);
// if we got some appointments back strip any that started before now
if (array_key_exists('totalcount', $res) && $res['appointments'] > 0)
{
$tzStr = "America/Los_Angeles";
$tzObject = new DateTimeZone($tzStr);
$nowDT = new DateTime();
$nowDT->setTimezone($tzObject);
//print_r($nowDT);
//print_r("\n");
$appts = array();
for ($i = 0; $i < count($res['appointments']); $i++)
{
$apptDT = new DateTime($res['appointments'][$i]['date']." ".$res['appointments'][$i]['starttime'], $tzObject);
//print_r($apptDT);
//print_r("\n");
if ($nowDT < $apptDT)
$appts[] = $res['appointments'][$i];
}
}
if (count($appts) > 0)
foreach($appts as $data) {
$final_array[] = $data;
}
else
$res; // something went wrong. return error message
}
echo json_encode($final_array);
}
header.phpの
<script>
var times = <?php getOpenAppts(); ?>;
console.log(times); //Will display properly
</script>
しかし..私はそれグローバル変数作るヘッダーである変数回のコンソールを(実行します。私はこれを取得。
それは私にそのコンソールまったく同じリストを与える必要があります。ログには、私を与えた
私は
を試してみましたが、私は走った:。PARSE.json(times);
影響なし...
私はPHPで行った:
影響なし...
このプロセスのどの部分が間違っていますか?
グローバル変数だことができますが、PHPの関数' getOpenAppts(内部でどのようなことである避けてください? –
他の場所を上書きしている可能性はありますか?その名前を珍しいものに変更してconsole.logを保存してみてください –
PHPをちょうどアップデートしました – Cam